计算两个时间之间的天数差,用SimpleDateFormat
对时间进行一次格式化,丢掉天数之外的精度,再计算时间差
private static String handleDate(long time) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(time);
Date old = sdf.parse(sdf.format(date));
Date now = sdf.parse(sdf.format(new Date()));
long oldTime = old.getTime();
long nowTime = now.getTime();
long day = (nowTime - oldTime) / (24 * 60 * 60 * 1000);
if (day < 1) { //今天
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
return format.format(date);
} else if (day == 1) { //昨天
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
return "昨天 " + format.format(date);
} else { //可依次类推
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
return format.format(date);
}
}