When I use the "getHour()" method in javascript, it displays the military time format. I need it to display the hour in numbers between 1-12 instead. Can anybody tell me how to do this? Here is the code I am using:
function updateclock()
{
var time = new Date();
var todisplay = '';
if (time.getHours() < 10) todisplay += time.getHours();
else todisplay += time.getHours();
if (time.getMinutes() < 10) todisplay += ':0' + time.getMinutes();
else todisplay += ':' + time.getMinutes();
document.getElementById("clock").innerHTML = todisplay;
}
This will correct 13 - 24 back to the range 1 - 12, and 0 back to 12:
Also, you need to stop repeating yourself in your code. Call
time.getHours()
andtime.getMinutes()
and store their values just once each, and then worry about adding the leading zeroes, e.g.:the easy way to use this.
Other answers are indeed very good. But I think, following can be included too.
See what I did there in arrayHrs ;)
Why not do it the brief way? Math, people! :)