Moment js比较分钟的差异

我有一个关于 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"


jeck猫
浏览 139回答 3
3回答

侃侃无极

以防万一有人正在寻找一种解决方案来实现相同的目标而不使用 Momentjs(现在正式处于遗留模式):// Set two date objects 30 minutes apartconst [currentMessage,previousMessage] = [new Date(), new Date()]previousMessage.setMinutes(previousMessage.getMinutes() - 30 )// Get difference by subtracting milliseconds and converting to minutesconst diffInMinutes = (currentMessage.getTime()- previousMessage.getTime())/60000console.log('difference is:',diffInMinutes)

守着一只汪

让我们这样说:var currentMessage = moment(new Date()); //todays timevar previousMessage = moment("2018-12-1"); // another timevar duration = moment.duration(currentMessage.diff(previousMessage));var days = duration.asDays(); // you can choose days, minutes or whatever you need请注意,在减法之前不要对它们进行格式化,之后您可以将逻辑用于标志,或者可以将其用作标记标签的函数。我希望这会帮助你。

千万里不及你

使用加法或减法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}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript