android時間工具--多久之前

在開發新聞客戶端的時候,是在會顯示時間是多久之前,比如10分鐘前,8小時前,一月前等等。
下面是一個簡單的實現:

import android.util.Log;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {
    private final static long minute = 60 * 1000;// 1分鐘
    private final static long hour = 60 * minute;// 1小時
    private final static long day = 24 * hour;// 1天
    private final static long month = 31 * day;// 月
    private final static long year = 12 * month;// 年

    private void testDiffDate() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d = null;
        try {
            d = sdf.parse("2016-02-16 09:57:18");
            Log.i("DateUtil", "testDate: " + d.getTime());
            long diff = new Date().getTime() - d.getTime();
            Log.i("DateUtil", "testDate: " + d.getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long diff = new Date().getTime() - d.getTime();
        long r = 0;
        if (diff > year) {
            r = (diff / year);
            Log.i("DateUtil", "testDate: " + r + "年前");
        } else if (diff > month) {
            r = (diff / month);
            Log.i("DateUtil", "testDate: " + r + "個月前");
        } else if (diff > day) {
            r = (diff / day);
            Log.i("DateUtil", "testDate: " + r + "天前");
        } else if (diff > hour) {
            r = (diff / hour);
            Log.i("DateUtil", "testDate: " + r + "個小時前");
        } else if (diff > minute) {
            r = (diff / minute);
            Log.i("DateUtil", "testDate: " + r + "分鐘前");
        } else
            Log.i("DateUtil", "testDate: 剛剛");
    }
}
發佈了82 篇原創文章 · 獲贊 33 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章