我如何比较两个日期 - 它们应该在日期或年份匹配
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
}
如果它们相同,则表示无论年份如何,都是同月的同一天
我有以下日期
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
}
如果它们相同,则表示无论年份如何,都是同月的同一天