Как проверить, что срок годности меньше месяца? - PullRequest
1 голос
/ 09 октября 2019

У меня есть код, который проверяет количество дней, оставшихся до истечения срока годности:

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
}

Как мне этого добиться? Заранее спасибо.

1 Ответ

2 голосов
/ 09 октября 2019

Я думаю, что вы хотите просто изменить свою логику и использовать 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>
...