我有2个momentjs对象,moment1和moment2:
为什么moment1.isSame(moment2,’date’)返回false?
我的理解是检查moment1.isSame(moment2,’day’)返回它们是否是一周中的同一天(至少,它是从文档中看起来的样子).因此,如果’day’和’date’都不起作用,那么确定2个日期是否代表同一天的正确方法是什么?
我本来可以发誓我曾经使用过moment1.isSame(moment2,’date’),但我必须记错了……
解决方法
您可以同时使用“日期”和“日期”到
isSame
.
正如docs所说:
Check if a moment is the same as another moment.
When including a second parameter,it will match all units equal or larger. Passing in
month
will checkmonth
andyear
. Passing inday
will checkday
,month
,andyear
.Like
moment#isAfter
andmoment#isBefore
,any of the units of time that are supported formoment#startOf
are supported formoment#isSame
.
在startOf
的文档中:
Note:
moment#startOf('date')
was added as an alias for day in 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>