js实现用户评论时间与当前时间对比,显示"n分钟前","n小时前",以及具体日期的效果

这里需要用到moment.js插件

官网:Moment.js 中文网 (momentjs.cn)

我这里将插件的实例挂载到了this.$moment上

 

                let initTime = e.createTime // 格式 2022-12-12 12:30:51
                // let a = this.$moment().diff(this.$moment('2023/1/5 20:15:00'));
                let a = this.$moment().diff(this.$moment(e.createTime));
                // 只换算到小时
                const T = ['秒', '分钟', '小时']
                const t = [1000, 60, 60]
                console.log('换算前', a)
                
                for (var i = 0; i < t.length; i++) {
                    if (parseInt(a/t[i])) {
                        a = parseInt(a/t[i])
                        e.createTime = a + T[i] + '前'
                        // 创建日期与当前日期进行对比,相差小于一天则显示n分钟前,n小时前,大于一天直接显示日期
                        if(T[i] == "小时" && a > 24) {
                            e.createTime = initTime.split(' ')[0]
                        }
                    }
                }
                console.log('换算后', e.createTime)

 

posted @ 2023-01-06 19:28  fnasklf  阅读(253)  评论(0编辑  收藏  举报