在moment.js中比较24小时格式时间

时间:2018-10-31 05:58:02

标签: javascript jquery momentjs

如何以24小时格式比较两次。我试过下面的代码行吗?

     $("#dd_start_timing, #dd_end_timing").on('keyup change keydown', function() {
        var DutyDayStartTime = $("#dd_start_timing").val().trim();// 13:05
        var DutyDayEndTime = $("#dd_end_timing").val().trim(); // 13:05
        if(DutyDayStartTime.minute() === DutyDayEndTime.minute())
        {
          alert("cannot be same");
        }
});

我正在使用moment.js库。它引发错误消息“ DutyDayStartTime.minute不是函数”。请帮我如何在moment.js中进行两次比较

4 个答案:

答案 0 :(得分:2)

如果只想比较两个时间变量,则可以简单地使用;

  • isSame()
  • isSameOrBefore()
  • isSameOrAfter()
  • isAfter()
  • isBefore()

moment.js函数。这些函数以booleanTrue的形式返回False结果。来自documentation的更多内容。

var DutyDayStartTime = moment($("#dd_start_timing").val().trim(), 'HH:mm');// 13:05
var DutyDayEndTime = moment($("#dd_end_timing").val().trim(), 'HH:mm'); // 13:05
if(DutyDayStartTime.isSame(DutyDayEndTime))
{
  alert("cannot be same");
}
else if(DutyDayStartTime.isBefore(DutyDayEndTime))
{
  alert("duty day start time cannot be before");
}

答案 1 :(得分:1)

date1 = moment('01:01','HH:mm')

date2 = moment('02:01','HH:mm')

dif = date2.diff(date1,'分钟')

答案 2 :(得分:1)

您必须使用moment js库。

var moment = require("moment")

var DutyDayStartTime = moment([13,05], "HH:mm")
var DutyDayEndTime = moment([13,05], "HH:mm")

DutyDayStartTime.diff(DutyDayEndTime, 'minutes') // 0

答案 3 :(得分:1)

比较了他们的时间戳

var DutyDayEndTime = moment('13:05', 'HH:mm');
var DutyDayEndTime = moment('13:05', 'HH:mm');
if(DutyDayStartTime.unix() === DutyDayEndTime.unix()){
 console.log('cannot be same')
}

JSFiddle Solution