时间:2021-05-18
直接上代码,代码中有注释,大家好好看!
/** * 将一个时间戳转换成提示性时间字符串,如 * 2分钟内 无显示 * 2分钟-24小时 HH:mm * 昨天 昨天 HH:mm * 前天 前天 HH:mm * 一年内 MM:DD HH:mm * 去年 去年 MM:DD HH:mm * 前年 前年 MM:DD HH:mm * 更远 yyyy:MM:DD HH:mm * 毫秒计算 * @param charttime * @return */ public static String convertChatDetailTimeFormat(long charttime) { long curTime = System.currentTimeMillis() ; long time = curTime - charttime; XCApplication.base_log.i(XCConfig.TAG_SYSTEM_OUT, time + "---时间差" + time/ 1000/ 60 + "分钟"); XCApplication.base_log.i(XCConfig.TAG_SYSTEM_OUT, curTime + "---当前时间" + format(new Date(curTime), FORMAT_LONG_CN_1)); XCApplication.base_log.i(XCConfig.TAG_SYSTEM_OUT, charttime + "---chartTime" + format(new Date(charttime), FORMAT_LONG_CN_1)); if (time < 120 * 1000 && time >= 0) { return "刚刚"; } else if (time >= 120 *1000 && time < 3600 * 24 * 1000) { return format(new Date(charttime), FORMAT_HH_MM); } else if (time >= 3600 * 24 * 1 * 1000 && time < 3600 * 24 * 2 * 1000) { return "昨天" + format(new Date(charttime), FORMAT_HH_MM); } else if (time >= 3600 * 24 * 2 * 1000 && time < 3600 * 24 * 3 * 1000) { return "前天" + format(new Date(charttime), FORMAT_HH_MM); } else if (time >= 3600 * 24 * 3 * 1000 && time < 3600 * 24 * 365 * 1 * 1000) { return format(new Date(charttime), FORMAT_MM_DD_HH_MM); } else if (time >= 3600 * 24 * 365 * 1 * 1000 && time < 3600 * 24 * 365 * 2 * 1000) { return "去年" + format(new Date(charttime), FORMAT_MM_DD_HH_MM); } else if (time >= 3600 * 24 * 365 * 2 * 1000 && time < 3600 * 24 * 365 * 3 * 1000) { return "前年" + format(new Date(charttime), FORMAT_MM_DD_HH_MM); } else if (time >= 3600 * 24 * 365 * 3 * 1000) { return format(new Date(charttime), FORMAT_LONG_CN_1); } else { return "刚刚"; } }这里就有一个小问题,就是自然日时间跨越实际日时间,有可能出现昨天的时间不显示昨天,而显示为HH:mm,于是测试找上门来,要求改,将2分钟-24小时的条件改为2分钟-今日内。
那么这里的需求就改为
* 2分钟内 无显示
* 2分钟-今日 HH:mm
* 昨天 昨天 HH:mm
* 前天 前天 HH:mm
* 今年 MM:DD HH:mm
* 去年 去年 MM:DD HH:mm
* 前年 前年 MM:DD HH:mm
* 更远 yyyy:MM:DD HH:mm
这也不是多大的问题,问题是在跨年的情况该如何,2015-01-01 00:01.001 的前三分钟接受的消息,也就是2014-12-31 该显示为昨天还是去年。如果信息的接收时间比时间还要大,该如何显示。
经过一番撕逼,终于敲定,这里为了产品再次修改,要求产品立字据啊,作为终极版本存在。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
微信小程序template模板详解及实例首先看一些官方的一些介绍。模板:模板功能是通过对template标签的属性name=””去创建不同模板,通过is=”na
本文实例为大家分享了C++使用模板实现单链表的具体代码,供大家参考,具体内容如下这一篇可以和上一篇点击打开链接模板实现单链表进行对比看类外实现和类内实现的区别代
微信小程序后台解密用户数据实例详解微信小程序API文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-lo
微信小程序消息推送php服务器验证实例详解微信文档(靠下有个“接入指引”):https://mp.weixin.qq.com/debug/wxadoc/dev/
微信小程序开发MAP(地图)实例详解在创建MAP(地图)前,请各位小伙伴们认真的去了解微信小程序开发的说明。https://mp.weixin.qq.com/d