java 友好的显示时间
2016-06-23 16:41
926 查看
1、显示时间,
30秒以内显示刚刚
几分钟前显示几分钟前
今天时间显示时间,不显示年月日
昨天时间显示昨天+时间,不显示年月日
昨天以前显示具体的年月日
代码如下:
30秒以内显示刚刚
几分钟前显示几分钟前
今天时间显示时间,不显示年月日
昨天时间显示昨天+时间,不显示年月日
昨天以前显示具体的年月日
代码如下:
public static String friendlyDate(Date date) { Date now = new Date(); long ys = DateUtils.truncate(now, Calendar.YEAR).getTime(); long ds = DateUtils.truncate(now, Calendar.DAY_OF_MONTH).getTime(); long yd = DateUtils.truncate(date, Calendar.DAY_OF_MONTH).getTime(); long n = now.getTime(); long e = date.getTime(); if (e < ys) { return new SimpleDateFormat("yyyy-MM-dd HH:mm").format(date); } if ((ds - yd) == (24 * 60 * 60 * 1000)) { return new SimpleDateFormat("昨天 HH:mm").format(date); } if (e < ds) { return new SimpleDateFormat("yyyy-MM-dd HH:mm").format(date); } if (n - e > 60 * 60 * 1000) { return new SimpleDateFormat("今天 HH:mm").format(date); } if (n - e > 60 * 1000) { return (long) Math.floor((n - e) * 1d / 60000) + "分钟前"; } if (n - e > 1 * 1000) { return "刚刚"; } return new SimpleDateFormat("yyyy-MM-dd HH:mm").format(date); }其中的年限判断为多余,但是为了以后修改,比如今年的时间只显示月和天,所以仍然做保留
相关文章推荐
- Dijkstra——Java实现
- java虚拟机垃圾回收机制
- JAVA基础原理回顾
- java 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- eclipse debug时为什么显示source not found
- spring学习总结-第四讲
- Java定时任务3:Jcrontab的使用
- java 将毫秒转换为 *天*时*分*秒 的格式
- java获取日期 昨天 今天 明天的日期
- Eclipse 如何添加 更换字体
- spring学习总结-第三讲
- Win7 x64 Eclipse无法识别手机 / adb interface有黄色感叹号,无法识别
- 编程之美2.12快速寻找满足条件的两个数及扩展问题Java版
- java Date和String相互转换
- springMVC上传文件 带有进度条
- 40个Java多线程问题总结
- java移位运算符(运算符)
- java 位运算
- Spring mvc3 jackson格式日期
- 命令行工具jdb调试Java程序