前言
现在互联网上的信息越来越多,很多应用也比较关注信息的展示,提到信息,自然少不了提到信息时效性的重要性,因此很多时候你会看到信息的展示不仅仅显示当前的时间,而是显示信息过去了的时长。
它能给我们带来更直观的信息时效,所以这个信息该如何显示呢?
moment
moment是一个时间格式化的依赖,很多人都已经听说过了。
$ npm i moment
它提供了一个方法,当我们把js日期时间对象传入moment,时间表示2022/7/18 下午4:55:20
。
然后我在2022/7/18 下午5:00:20
调用,就得到了“5 minutes ago”这样的字符串,意思5分钟前,表示现在距离当时过去了5分钟。
import moment from 'moment'
const datetime = new Date('2022-07-18T16:55:20')
const fromTime = moment(datetime).fromNow()
console.log(fromTime) // 5 minutes ago
转译成中文
当然我们不可能把英文结果展示给用户看,万一用户不认识英文怎么办,因此我们得先进行转义。
import moment from 'moment'
moment.defineLocale('zh-cn', {
relativeTime: {
future: '%s内',
past: '%s前',
s: '几秒',
m: '1分钟',
mm: '%d分钟',
h: '1小时',
hh: '%d小时',
d: '1天',
dd: '%d天',
M: '1个月',
MM: '%d个月',
y: '1年',
yy: '%d年'
},
});
const datetime = new Date('2022-07-18T16:55:20')
const fromTime = moment(datetime).fromNow()
console.log(fromTime) // 5分钟前
尾言
如果觉得文章还不错的话,欢迎点赞收藏哦,有什么错误或者意见建议也可以留言,感谢~