The function returns the time in 24 hour format.
function fomartTimeShow(h) {
return h < 10 ? "0" + h + ":00" : h + ":00";
}
returns the time in 24 hour format. I want the time to be converted in 12 hour format.
Anyhelp would be greatly appreciated.
Thanks.
Just use modulus 12:
function formatTimeShow(h_24) {
var h = h_24 % 12;
return (h < 10 ? '0' : '') + h + ':00';
}
Modulus (%
) means divide and take remainder. For example 17 / 12 = 1 with remainder 5. So the result of 17 % 12 is 5. And hour 17 is hour 5 in 12-hour time.
But note that this function is not complete since it doesn't work for hour 0 (or hour 12). To fix it you have to add in another check for that:
function formatTimeShow(h_24) {
var h = h_24 % 12;
if (h === 0) h = 12;
return (h < 10 ? '0' : '') + h + ':00';
}
Also note that you can add a meridian easily, by seeing whether the hour is less than 12 (am) or equal to/greater (pm):
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');
}
Note: All of the above is assuming the parameter to this function is an integer between 0 and 23.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With