Date()
Конструктор любит только очень ограниченный набор форматов даты. Если ваш формат ввода исправлен 'hh:mm:ss'
, возможно, проще отформатировать его, используя простую строку replace:
function formatTime(time) {
return time.replace(/(d)(:dd):(dd)/, function(_, h, m) {
return (h > 12 ? h-12 : +h === 0 ? "12" : +h) + m + (h >= 12 ? "pm" : "am");
});
}
console.log( formatTime('00:15:24') );
console.log( formatTime('09:15:24') );
console.log( formatTime('10:15:24') );
console.log( formatTime('11:15:24') );
console.log( formatTime('12:15:24') );
console.log( formatTime('13:15:24') );
console.log( formatTime('14:15:24') );
Дальнейшее чтение:
- Строковый
.replace()
метод - Регулярные выражения
- Оператор Unary plus