0

我对此有点问题。无论用户机器的时区设置为什么,我都试图放置一个使用 UTC/ZULU/GMT 时间的时钟。我不知道什么时候涉及到 javascript,所以我正在尝试使用这个免费脚本:

<script language="JavaScript">
    function tS(){
        x=newDate(
            tN().getUTCFullYear(),tN().getUTCMonth(),tN().getUTCDate(),
            tN().getUTCHours(),tN().getUTCMinutes(),tN().getUTCSeconds()
        );

        x.setTime(x.getTime());
        return x;
    } 
    function tN(){ return new Date(); } 
    function lZ(x){ return (x>9)?x:'0'+x; } 
    function dT(){
        if(fr==0){
            fr=1; document.write('<font size=4 face=open_sanslight><b>
            <span id="tP">'+eval(oT)+'</span></b></font>');
        }
    document.getElementById('tP').innerHTML=eval(oT); setTimeout('dT()',1000);
    } 
    function y4(x){ return (x<500)?x+1900:x; } 
    var mN=new
    Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'),
    fr=0,oT="lZ(tS().getHours())+':'+lZ(tS().getMinutes())+' '+'<'+'b'+'r'+'>
    '+' '+mN[tS().getMonth()]+' '+tS().getDate()+','+' '+y4(tS().getYear())";
</script>

这对我来说完美显示了 UTC 时间,因为我在英国夏令时,但是如果我将时钟提前一小时,那么网页时钟也会提前一小时。我不知道如何纠正这个问题,所以我想知道是否有人可以告诉我如何做到这一点。

谢谢大家,我很感激帮助。

4

1 回答 1

0

你可以使用这个时间 api:

http://www.timeapi.org/

他们有一个如何使用 javascript 访问它的示例:

<script type="text/javascript">
  function myCallback(json) {
    alert(new Date(json.dateString));
  }
</script>
<script type="text/javascript" src="http://timeapi.org/utc/now.json?callback=myCallback"
</script>

“但是,如果我将时钟提前一小时,那么网页时钟也会提前一小时”......发生这种情况的原因是因为您的脚本正在由浏览器执行。

于 2013-07-09T21:11:02.093 回答