使用momentjs,我如何判断2个时刻是否代表同一天(不是,必然,同一时间)?

时间:2017-01-25 15:32:04

标签: javascript momentjs

我有2个momentjs对象,moment1moment2

enter image description here

为什么moment1.isSame(moment2, 'date')返回false ??

我的理解是,检查moment1.isSame(moment2, 'day')会返回它们是否是本周的同一天(至少,它是从文档中看起来的样子)。所以,如果两天都是这样的话。和' date'不工作,确定2个日期是否代表同一天的正确方法是什么?

我可以发誓我过去曾使用moment1.isSame(moment2, 'date'),但我必须记错......

2 个答案:

答案 0 :(得分:16)

您可以将'day''date'同时用于isSame

正如docs所说:

  

检查片刻是否与另一时刻相同。

     

当包含第二个参数时,它将匹配所有等于或大于的单位。传入month会检查monthyear。传入day会检查daymonthyear

     

moment#isAftermoment#isBefore一样,moment#startOf支持moment#isSame支持的任何时间单位。

startOf的文档中:

  

注意: moment#startOf('date') 2.13.0

中添加为日期的别名

这是一个最新版本的工作示例( 2.17.1 ):



var moment1 = moment('01/23/17', 'MM/D/YYYY');
var moment2 = moment('01/23/17', 'MM/D/YYYY');
console.log( moment1.isSame(moment2, 'day') ); // true
console.log( moment1.isSame(moment2, 'date') ); // true

<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

让我们保持简单。

moment(date1).format('L') === moment(date2).format('L')