我如何比较两个日期 - 它们应该在日期或年份匹配

How can i compare two dates - they should match on day or year

我有以下日期

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 day.Even 年份不同。 这也应该保持正确

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

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

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

编辑:更改了条件中的错误

你可以试试这个

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');

您应该检查 month 是否由格式标记 M 表示,day of month 是否由格式标记 D[ 表示=19=] 都是这样的

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

如果它们相同,则表示无论年份如何,都是同月的同一天