首页 > 解决方案 > 问题比较 JavaScript 中的时刻

问题描述

我有以下代码检查开始日期是否 >= 到结束日期。几乎每次我比较两个相同的日期时,日期之间的差异都小于 0。

这是我的代码:

var end = $('#job_end').datetimepicker('date');
var start = $('#job_start').datetimepicker('date');

console.log(start);
console.log(end);
console.log(start.diff(end));
console.log(start.isSameOrAfter(end));

这是此代码的输出:

Moment {_isAMomentObject: true, _isUTC: false, _pf: {…}, _locale: Locale, _d: Wed Jul 25 2018 14:15:00 GMT-0500 (Central Daylight Time), …}
Moment {_isAMomentObject: true, _isUTC: false, _pf: {…}, _locale: Locale, _d: Wed Jul 25 2018 14:15:00 GMT-0500 (Central Daylight Time), …}
-6
false

有什么我做错了吗?

标签: javascriptmomentjstempus-dominus-datetimepicker

解决方案


从阅读您的代码来看,您似乎有六毫秒的差异。由于您首先获得结束日期,然后是开始日期,因此这可能是这两行代码的执行时间。如果您只是想比较日期而不是时间,请检查并确保您只得到日期而不是时间。

看看使用moment().startOf('day')将时间归零,你只能比较一天。


推荐阅读