how to modify this javascript time function to show hours less than ten as: 0x
//Live Javascript Server Time
function getthedate(){
var mydate=new Date()
var hours=mydate.getHours()
var minutes=mydate.getMinutes()
var seconds=mydate.getSeconds()
var dn="AM"
if (hours>=12)
dn="PM"
if (hours>12){
hours=hours-12
}
if (hours==0)
hours=12
if (minutes<=9)
minutes="0"+minutes
if (seconds<=9)
seconds="0"+seconds
var cdate="<strong><开发者_运维问答font color='b9b9b9' size='1'> "+hours+":"+minutes+":"+seconds+" "+dn+"</font></strong>"
if (document.all)
document.all.clock.innerHTML=cdate
else if (document.getElementById)
document.getElementById("clock").innerHTML=cdate
else
document.write(cdate)
}
if (!document.all&&!document.getElementById)
getthedate()
function live_servertime(){
if (document.all||document.getElementById)
setInterval("getthedate()",1000)
}
Does this display the live SERVER time? If not, any ideas how to achieve this? Also I'm stumped on how to modify it to put a zero in front of hours that are less than ten?
If you understand how the minutes
and seconds
get the leading zero, it should be pretty obvious.
if (hours==0)
hours=12
if (hours <= 9) // <--
hours = "0" + hours; // <--
if (minutes<=9)
minutes="0"+minutes
if (seconds<=9)
seconds="0"+seconds
and no, new Date()
just gets the time from the client.
Hint: look at how minutes and seconds get a leading zero.
if (minutes<=9)
minutes="0"+minutes
No, it doesn’t display the server time. I can’t, because it runs entirely on the client (browser) and doesn’t communicate with the server.
To put a 0 in front of the single-digits hours, just do the same that you’re already doing with the minutes and secconds:
if (hours <= 9)
hours = "0" + hours;
精彩评论