Просто используйте модуль 12:
function formatTimeShow(h_24) {
var h = h_24 % 12;
return (h < 10 ? '0' : '') + h + ':00';
}
Модуль (%
) означает делить и брать остаток. Например, 17/12 = 1 с остатком 5. Таким образом, результат 17% 12 равен 5. А час 17 - это час 5 через 12 часов.
Но обратите внимание, что эта функция не завершена, поскольку она не работает в течение часа 0 (или часа 12). Чтобы исправить это, вы должны добавить еще одну проверку для этого:
function formatTimeShow(h_24) {
var h = h_24 % 12;
if (h === 0) h = 12;
return (h < 10 ? '0' : '') + h + ':00';
}
Также обратите внимание, что вы можете легко добавить меридиан, посмотрев, меньше ли час (12 часов утра) или равен / больше (часов вечера):
function formatTimeShow(h_24) {
var h = h_24 % 12;
if (h === 0) h = 12;
return (h < 10 ? '0' : '') + h + ':00' + (h_24 < 12 ? 'am' : 'pm');
}
Примечание. Все вышеперечисленное предполагает, что параметром этой функции является целое число от 0 до 23.