如何在moment.js中只比较date
我是新的moment.js。 我有一个date对象,它有一些时间与它关联。 我只想检查这个date是否大于或等于今天的date, 不包括比较的时间。
var dateToCompare = 2015-04-06T18:30:00.000Z
我只想检查dateToCompare是否等于或大于今天的date。 我检查了moment.js的isSame,但它似乎采取string,只有date部分。 但我不想将我的date转换为string或进一步操作。 因为我担心的JavaScript可能会做一些意想不到的事情时,将该date转换为string(如添加偏移量或dst等),或者可能是我错了。
来自docs的示例isSame()
moment('2010-10-20').isSame('2010-10-20');
另外我正在寻找像isSame()和isAfter()组合为一个语句。
我只需要比较使用moment.js。请不要提示纯javascriptdate比较。
文档很清楚 ,你传入第二个参数来指定粒度。
如果要将粒度限制为毫秒以外的单位,请将单位作为第二个parameter passing。
moment('2010-10-20').isAfter('2010-01-01', 'year'); // false moment('2010-10-20').isAfter('2009-12-31', 'year'); // true
由于第二个参数决定了精度,而不仅仅是一个单一的值来检查,使用date将检查年,月和日。
对于你的情况,你会通过'day'
作为第二个参数。
同时你可以使用isSameOrAfter
方法:
moment('2010-10-20').isSameOrAfter('2010-10-20', 'day');