1. 程式人生 > >時間戳轉化為文字描述

時間戳轉化為文字描述

Java Android 時間戳轉化為 文字描述

小於1分鐘  :剛剛
大於等於1分鐘 小於1小時  幾分鐘前
大於等於1小時小於1天 :幾小時前
大於等於1天小於1年 :幾月幾日
大於等於1年:几几年幾月幾日


    /**
     * 返回文字描述的日期
     *
     * @param time 時間戳  秒
     * @return String型別的文字描述
     */
    public static String getTimeFormatText(Integer time) {
        if (time == null) {
            return "";
        }
        final long second = 1;// 1秒
        final long minute = 60 * second;// 1分鐘
        final long hour = 60 * minute;// 1小時
        final long day = 24 * hour;// 1天
        final long month = 31 * day;// 月
        final long year = 12 * month;// 年

        //當前時間
        int newTime = (int) (System.currentTimeMillis() / 1000);
        //相差時間
        int diff = newTime - time;
        if (diff >= year) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            return formatter.format(Long.valueOf(time + "000"));
        }
        if (diff >= day && diff < year) {

            SimpleDateFormat formatter = new SimpleDateFormat("MM-dd");
            return formatter.format(Long.valueOf(time + "000"));
        }

        if (diff >= hour && diff < day) {
            return (diff / hour) + "小時前";
        }
        if (diff >= minute && diff < hour) {
            return (diff / minute) + "分鐘前";
        }
        return "剛剛";
    }