版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q714093365/article/details/78113714
Java Android 时间戳转化为 文字描述
小于1分钟 :刚刚
大于等于1分钟 小于1小时 几分钟前
大于等于1小时小于1天 :几小时前
大于等于1天小于1年 :几月几日
大于等于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 "刚刚";
}