Свойство hour:'2-digit'
, похоже, игнорируется основными Chrome, Firefox, Safari и NodeJS.Вместо этого они применяют значение параметра hour12:
(т. Е. 12 или 24-часовое обозначение), вместо этого:
hour12:true
приводит к «3:00:00 PM», так как на самом деле никто не пишет «03:00:00 вечера "с наличием PM
.Это может сбить с толку других, когда они думают, что это 24-часовая запись (то есть 3 часа ночи), если кто-то читает быстро и пропускает PM
в конце.
hour12:false
приводит к "15:00:00"и" PM "больше не нужны.
Так что в вашем примере, если вы хотели 24-часовую запись, просто используйте:
let date = (new Date("17 May 2019 3:13:22 AM")).toLocaleTimeString(undefined, {
hour12: false,
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
})
console.log(date); //03:13:22