我有2个momentjs对象,moment1
并且moment2
:
为什么moment1.isSame(moment2, 'date')
返回false?
我的理解是检查moment1.isSame(moment2, 'day')
返回它们是否是一周中的同一天(至少,它是从文档中看起来的样子).因此,如果'day'和'date'都不起作用,那么确定2个日期是否代表同一天的正确方法是什么?
我本来可以发誓我曾经使用moment1.isSame(moment2, 'date')
过,但我必须记错了...
您可以同时使用'day'
,并'date'
给isSame
.
正如文档所说:
检查片刻是否与另一个片刻相同.
当包含第二个参数时,它将匹配所有等于或大于的单位.传入
month
将检查month
和year
.传递day
将检查day
,month
和year
.喜欢
moment#isAfter
和支持的moment#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