开发者

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;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜