为什么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@H_403_21@ will check
month@H_403_21@ and
year@H_403_21@. Passing in
day@H_403_21@ will check
day@H_403_21@,
month@H_403_21@,and
year@H_403_21@.
Like
moment#isAfter@H_403_21@ and
moment#isBefore@H_403_21@,any of the units of time that are supported for
moment#startOf@H_403_21@ are supported for
moment#isSame@H_403_21@.
在startOf
的文档中:
Note:@H_403_51@
moment#startOf('date')@H_403_21@ was added as an alias for day in 2.13.0@H_403_51@
这是一个最新版本(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>