Предупреждение об устаревании при попытке использовать isBefore в текущее время с использованием moment.js

#javascript #momentjs

#javascript #momentjs

Вопрос:

Я хочу получить текущую временную метку, а затем сравнить ее с переменной, например, «21:00», чтобы узнать, соответствует ли текущее время этому времени.

Я добавил некоторую логику, используя moment.js чтобы получить временную метку, отформатируйте ее в HH:MM, затем используйте isBefore, но она всегда возвращает false, даже если она должна быть true . Я также получаю предупреждение об ограничении?

   const currentTime = moment().format('HH:MM')
  const deadline = '21:00'

  moment(currentTime).isBefore(deadline, 'hour')
 

Если я регистрирую последнюю строку, она возвращает false, когда она должна быть true, и я получаю ошибку

 Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged.
 

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

1. 21:00 не определяет действительный момент в одном из распознанных стандартных форматов, потому что в нем отсутствует дата.

2. Предупреждение об устаревании довольно ясно; формат не является одним из принятых форматов. Почему бы не предоставить формат и не сравнить моменты? moment().isBefore(moment(deadline, 'HH:MM'), 'hour')