我有一个代码可以检查给定到期日期的剩余天数:
const expiration = "2019-10-25T01:41:02.523Z";
const daysLeft = Math.floor((Date.parse(expiration) - Date.now()) / (24 * 60 * 60 * 1000));
console.log(daysLeft);
现在,我要检查当前日期是否比给定的到期日期还不到一个月。
我尝试使用矩,但是我不确定自己是否做对了
const now = moment().add(1, 'M');
const expires = moment(expiration);
if (now.isBefore(expires)) {
// expired
}
我该如何实现?预先感谢。
答案 0 :(得分:2)
我认为您只是想颠倒您的逻辑,并使用isAfter()
。如果我们记录2019-10-25T01:41:02.523Z
现在会显示“一个月以下”,如果将其增加到“ 2019-11-25”,它将不再显示console.log
消息:
const expiration = "2019-10-25T01:41:02.523Z";
const now = moment().add(1, 'M');
const expires = moment(expiration);
if (now.isAfter(expires)) {
console.log(expiration, 'under a month');
} else {
console.log(expiration, 'not under a month');
}
const expiration2 = "2019-11-25T01:41:02.523Z";
const expires2 = moment(expiration2);
if (now.isAfter(expires2)) {
console.log(expiration2, 'under a month');
} else {
console.log(expiration2, 'not under a month');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>