Moment: 00:00:00 не должно быть равно 12:00:00 при синтаксическом анализе в формате ч: м: с.

Созданный на 6 янв. 2012  ·  4Комментарии  ·  Источник: moment/moment

Кажется, это неправильные результаты - я что-то делаю не так?

момент ('12: 00: 00 ',' чч: мм: сс '). формат (' чч: мм: сс '); // "12:00:00"
момент ('00: 00: 00 ',' чч: мм: сс '). формат (' чч: мм: сс '); // "12:00:00" (кажется неверным)

момент ('12: 30: 00 ',' чч: мм: сс '). формат (' чч: мм: сс '); // "12:30:00"
момент ('00: 30: 00 ',' чч: мм: сс '). формат (' чч: мм: сс '); // "12:30:00" (кажется неверным)

Самый полезный комментарий

Вы должны использовать HH:mm:ss вместо hh:mm:ss , чтобы получить 24-часовые часы.

Однако, похоже, есть ошибка. 0 часов не является действительным часом в 12-часовом формате. Однако я не уверен, каково желаемое поведение в этой ситуации. Не похоже, что вы должны получать сообщение об ошибке, если сейчас 0 часов.

Все 4 Комментарий

Вы должны использовать HH:mm:ss вместо hh:mm:ss , чтобы получить 24-часовые часы.

Однако, похоже, есть ошибка. 0 часов не является действительным часом в 12-часовом формате. Однако я не уверен, каково желаемое поведение в этой ситуации. Не похоже, что вы должны получать сообщение об ошибке, если сейчас 0 часов.

Круто, спасибо за ответ. Я переключился на использование HH, но, похоже, проблема все еще возникает, по крайней мере, с Chrome:

момент ('12: 00: 00 ',' ЧЧ: мм: сс '). формат (' ЧЧ: мм: сс '); // "00:00:00" (неверно?)
момент ('00: 00: 00 ',' ЧЧ: мм: сс '). формат (' ЧЧ: мм: сс '); // "00:00:00" (правильное поведение)

По умолчанию HH и hh анализируют часы в 24-часовом формате. Чтобы выполнить синтаксический анализ за 12 часов, вам нужно добавить «до полудня» или «после полудня».

Исходный пост был правильно. Вы можете увидеть это, если добавите a к строке форматирования.

moment('12:00:00', 'hh:mm:ss').format('hh:mm:ss a'); // "12:00:00 pm"
moment('00:00:00', 'hh:mm:ss').format('hh:mm:ss a'); // "12:00:00 am"

moment('12:30:00', 'hh:mm:ss').format('hh:mm:ss a'); // "12:30:00 pm"
moment('00:30:00', 'hh:mm:ss').format('hh:mm:ss a'); // "12:30:00 am"

Я считаю, что указанная ниже проблема - это известная проблема, которая была исправлена. Это было вызвано фиксацией в № 74 и исправлено в № 92. Тем не менее, я добавляю для него модульные тесты. Я также проясню документы.

moment('12:00:00', 'HH:mm:ss').format('HH:mm:ss'); // "00:00:00"

Если вы используете 1.2.0, вам следует обновить его до 1.3.0, как это было при внесении исправления.

Круто, звучит хорошо. Спасибо!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги