Кажется, это неправильные результаты - я что-то делаю не так?
момент ('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 часов.
Круто, спасибо за ответ. Я переключился на использование 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, как это было при внесении исправления.
Круто, звучит хорошо. Спасибо!
Самый полезный комментарий
Вы должны использовать
HH:mm:ss
вместоhh:mm:ss
, чтобы получить 24-часовые часы.Однако, похоже, есть ошибка. 0 часов не является действительным часом в 12-часовом формате. Однако я не уверен, каково желаемое поведение в этой ситуации. Не похоже, что вы должны получать сообщение об ошибке, если сейчас 0 часов.