如何使用moment.js检查两个日期是否相隔超过7天

Bha*_*hav 3 javascript momentjs

我正在尝试使用moment.js确定两个日期之间是否有超过7天的时间。

码:

var start = moment(self.StartDate(), "DD/MM/YYYY");
var end = moment(self.EndDate(), "DD/MM/YYYY");

console.log(start);
console.log(end);
console.log(moment.duration(end.diff(start)).asDays());

if (moment.duration(end.diff(start)).asDays() > 7) {
    alertify.alert("Error", "Only a maximum of 7 days can be investigated.");
    return;
}
Run Code Online (Sandbox Code Playgroud)

如果两个日期都在同一月份内,则此方法有效。但是,如果日期跨越2个月,则duration返回负值。

结果示例:

在此处输入图片说明

Nee*_*ali 5

使用diff方法检查两天之间的差异,并添加days为第二个参数以获取天数差异。

var d1 = "2019-01-10";
var d2 = "2019-01-20";
var diff = moment(d2).diff(d1, 'days')
alert('difference :' + diff)

alert('is difference more than 7: ' + (diff > 7))
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
Run Code Online (Sandbox Code Playgroud)