Строгий режим проверки времени в моментном режиме с помощью часового пояса
Я пытаюсь получить moment.js для проверки (строгий режим) введенной пользователем даты / времени с часовым поясом. Пример:
moment("2018-01-20 06:30 PDT", "YYYY-MM-DD HH:mm Z", true).isValid();
Это возвращает false, хотя введенное пользователем значение действительно для моих целей. Если я снимаю часовой пояс и жетон "Z", то он отлично работает, как и ожидалось.
Я проверил то, что казалось наиболее актуальными сообщениями SO, но оказалось пустым. Буду признателен за любые советы. Нужно ли мне использовать moment.tz в какой-то форме для этого варианта использования? Большое спасибо заранее.
РЕДАКТИРОВАТЬ: уточнить: "2018-01-20 06:30 PDT" - это то, что пользователь вводит вручную, "гггг-ММ-дд ЧЧ: мм z" - это формат даты / времени (ISO 8601?), Требуемый приложением, и мы массируем эти токены в "ГГГГ-ММ-ДД ЧЧ: мм Z", чтобы перейти к моментальному моменту для проверки.
0 ответов
Чтобы заставить его работать вместо PDT, вы можете указать смещение часового пояса, например, -0700 -
moment("2018-01-20 06:30 -0700", "YYYY-MM-DD HH:mm Z", true).isValid();
Для получения дополнительных сведений см. https://momentjs.com/docs/#/parsing/string-format.