我怎么能比较两个日期呢?它们应该在哪一天或哪一年匹配



我有以下日期

var date1 = moment(new Date(2019, 4, 17).valueOf());
var date2 = moment(new Date(2019, 4, 17).valueOf());

如果我使用

if (date1.isSame(date2)) {
c.log('same')
} else {
c.log('not same')
// They are not on the same day
}

那么它们将是相同的。

但是,当年份不同时,我该如何匹配?

var date1 = moment(new Date(2029, 4, 17).valueOf());
var date2 = moment(new Date(2019, 4, 17).valueOf());

这应该是真的,因为他们都在17天。即使是今年也不一样。这也应该保持真正的

var date1 = moment(new Date(2019, 4, 17).valueOf());
var date2 = moment(new Date(2019, 4, 17).valueOf());

你可以试试这个

var date1 = moment(new Date(2019, 4, 17).valueOf()).format('MM/DD');
var date2 = moment(new Date(2019, 4, 17).valueOf()).format('MM/DD');
if  (date1 === date2) 
console.log('true'); 
else 
console.log('false');

您应该检查由格式标记M表示的month和由格式标记D代表的day of month是否与此相同

if(date1.format('M') === date2.format('M') && date1.format('D') === date2.format('D')){
// Your code goes here after
}

如果它们是一样的,那就意味着无论是哪一年,都是同一个月的同一天

无论年份如何,您都可以比较月份和日期以检查它们是否相同:

if (date1.format('M') ===  date2.format('M') && date1.format('D') ===  date2.format('D'))
console.log('day and month are the same')

编辑:更改条件下的错误

最新更新