仿微信朋友圈时间显示 根据时间获取几分钟前,几小时前,几天前,几月前,几年前

13

仿微信朋友圈时间显示 根据时间获取几分钟前,几小时前,几天前,几月前,几年前

友好时间显示函数

=====================本文描述了一个友好时间显示函数,根据当前时间和指定时间差异计算出几分钟前、几小时前、几天前、几月前或几年前的时间。

函数定义

-------------

```java/

* 显示几天钱几周前几月前几年前 * @param d 指定时间 * @return 友好时间显示结果 */

public static String getFriendlytime(Date d){

long delta = (new Date().getTime()-d.getTime())/1000;

// 计算时间差异(秒)

if(delta < 60) {

return "刚刚";

} else if(delta < 3600) {

// 小于一小时 return String.format("%d分钟前", delta /60);

} else if(delta < 86400) {

// 小于一天 return String.format("%d小时前", delta /3600);

} else if(delta < 2592000) {

// 小于30天(约1个月)

return String.format("%d天前", delta /86400);

} else if(delta < 31536000) {

// 小于365天(约1年)

return String.format("%d月前", delta /2592000);

} else {

// 大于或等于365天 return String.format("%d年前", delta /31536000);

}

}

```

函数解释

-------------

本函数首先计算出当前时间和指定时间之间的秒数差异(delta)。然后根据delta的值进行不同的处理:

* 如果delta小于60,表示时间差异小于一分钟,返回“刚刚”。

* 如果delta介于60到3600之间(即1分钟到1小时),则计算出相应的分钟数,并返回“X分钟前”。

* 如果delta介于3600到86400之间(即1小时到1天),则计算出相应的小时数,并返回“X小时前”。

* 如果delta介于86400到2592000之间(即1天到30天,约1个月),则计算出相应的天数,并返回“X天前”。

* 如果delta介于2592000到31536000之间(即30天到365天,约1年),则计算出相应的月数,并返回“X月前”。

* 如果delta大于或等于31536000,则计算出相应的年数,并返回“X年前”。

示例

--------

```javaDate now = new Date();

Date yesterday = new Date(now.getTime() -86400000);

System.out.println(getFriendlytime(yesterday)); // 输出:1天前Date lastWeek = new Date(now.getTime() -604800000);

System.out.println(getFriendlytime(lastWeek)); // 输出:7天前Date lastMonth = new Date(now.getTime() -2592000000);

System.out.println(getFriendlytime(lastMonth)); // 输出:1月前Date lastYear = new Date(now.getTime() -31536000000);

System.out.println(getFriendlytime(lastYear)); // 输出:1年前```

本函数可以方便地在程序中使用友好时间显示功能,提高用户体验。

朋友圈时间转换

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信发出去的照片服务器会保存吗,转发或保存别人微信朋友圈的照片,别人是否会知道...

下一篇 一个仿微信朋友圈的图片查看器,使用超级简单!