Moment js не отображает сообщение об ошибке в течение нескольких дней после завтрашнего дня

#javascript #momentjs

#javascript #momentjs

Вопрос:

Я пытаюсь отобразить сообщение об ошибке, если дата послезавтра. Это означает, что если сегодня 05 октября, то сообщение об ошибке должно отображаться в течение нескольких дней после 06 октября (а не для 06).

Странно то, что это работает не только утром.

 const validateDays = (attr, data) => { 
const [date] = data[attr];

const futureDay = moment().add(1, 'days');

if (date.isAfter(futureDay)) {
    return "The error message";
  }

}

  

Комментарии:

1. date является строкой, а строка не имеет метода isAfter . Было бы лучше, если бы вы предоставили более точный пример

2. Ваша переменная date не является экземпляром moment или датой.

3. Я обновил свой код. итак, дата в порядке и получает сегодняшнюю дату. кажется, проблема связана с методом isAfter

4. Каково содержимое и тип date внутри функции? Не могли бы вы предоставить console.log это?

5. @DavidBuzatu « _d: Ср. 07 октября 2020 г. 12:00:00 GMT 0200 (летнее время Центральной Европы) прото : Объект _f: «ГГГГ-ММ-DDTHH: mm: ss» _i: «2020-10-05T00:00:00» «

Ответ №1:

Мне удалось это исправить, изменив

 const futureDay = moment().add(1, 'days');
  

Для

 const futureDay = moment().endOf('day').add(1, 'days');;