为了账号安全,请及时绑定邮箱和手机立即绑定

Moment js比较分钟的差异

Moment js比较分钟的差异

jeck猫 2023-04-27 16:11:44
我有一个关于 Moment js 的问题。我有一个聊天窗口,需要比较currentMessage.dateCreated和previousMessage.dateCreated。如果它们之间的差异超过 15 分钟,我需要添加一个标志/标签 -> if(minutes > 15){ flag = true})。我应该如何比较具有不同 dateCreated(非硬编码)值的聊天消息中的分钟数?谢谢您的回答!!!let currentMessage = moment          .utc(conversationMessages[this.index].createdDate)          .local()          .format("D/MM/YYYY HH:mm:ss"); // returns "8/10/2020 14:08:28"let previousMessage = moment          .utc(conversationMessages[this.index - 1].createdDate)          .local()          .format("D/MM/YYYY HH:mm:ss"); // returns "8/10/2020 13:06:31"
查看完整描述

3 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

以防万一有人正在寻找一种解决方案来实现相同的目标而不使用 Momentjs(现在正式处于遗留模式):

// Set two date objects 30 minutes apart

const [currentMessage,previousMessage] = [new Date(), new Date()]

previousMessage.setMinutes(previousMessage.getMinutes() - 30 )


// Get difference by subtracting milliseconds and converting to minutes

const diffInMinutes = (currentMessage.getTime()- previousMessage.getTime())/60000


console.log('difference is:',diffInMinutes)



查看完整回答
反对 回复 2023-04-27
?
守着一只汪

TA贡献1872条经验 获得超3个赞

让我们这样说:


var currentMessage = moment(new Date()); //todays time

var previousMessage = moment("2018-12-1"); // another time

var duration = moment.duration(currentMessage.diff(previousMessage));

var days = duration.asDays(); // you can choose days, minutes or whatever you need

请注意,在减法之前不要对它们进行格式化,之后您可以将逻辑用于标志,或者可以将其用作标记标签的函数。我希望这会帮助你。


查看完整回答
反对 回复 2023-04-27
?
千万里不及你

TA贡献1784条经验 获得超9个赞

使用加法或减法

let currentMessage = moment

          .utc(conversationMessages[this.index].createdDate)



let previousMessage = moment

          .utc(conversationMessages[this.index - 1].createdDate)


if( currentMessage > previousMessage.add(15, 'minutes') ) {

    // do your thing

}


查看完整回答
反对 回复 2023-04-27
  • 3 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信