当前位置:  开发笔记 > 编程语言 > 正文

获得当前的GMT世界时间

如何解决《获得当前的GMT世界时间》经验,为你挑选了3个好方法。

我怎样才能得到当前时间?(在JavaScript中)

不是你电脑的时间:

now = new Date;
now_string = addZero(now.getHours()) + ":" + addZero(now.getMinutes()) + ":" + addZero(now.getSeconds());

但真正准确的世界时间?

我是否需要连接到服务器(很可能是,哪一个?我如何从中检索时间?)

我从google做的所有搜索都返回了(new Date).getHours().

编辑:

如果用户的计算机时间错误,我想避免显示错误的时间.



1> James..:

您可以使用JSON [P]并访问时间API:

(下面的代码应该可以正常工作,只需测试它......)

function getTime(zone, success) {
    var url = 'http://json-time.appspot.com/time.json?tz=' + zone,
        ud = 'json' + (+new Date());
    window[ud]= function(o){
        success && success(new Date(o.datetime));
    };
    document.getElementsByTagName('head')[0].appendChild((function(){
        var s = document.createElement('script');
        s.type = 'text/javascript';
        s.src = url + '&callback=' + ud;
        return s;
    })());
}

getTime('GMT', function(time){
    // This is where you do whatever you want with the time:
    alert(time);
});


现在给出404错误`远程地址:74.125.200.141:80请求URL:http://json-time.appspot.com/time.json?tz = GMT&callback = json1439373722068请求方法:GET状态代码:404 Not Found`
API工作正常,但今晚它已经下降,因为它超过了当天的谷歌配额.免费AppEngine帐户的配额每天只有130万个请求.

2> Mr. Shiny an..:

首先,要获得准确的GMT时间,您需要一个您信任的来源.这意味着某处服务器.Javascript通常只能进行HTTP调用,而且只能访问托管相关页面的服务器(相同的源策略).因此,该服务器必须是您的GMT时间源.

我会将您的网络服务器配置为使用NTP将其时钟与GMT同步,并让网络服务器通过向页面写入变量来告诉脚本它的时间.或者,当您需要知道时间时,将make和XmlHttpRequest返回给服务器.缺点是由于所涉及的延迟,这将是不准确的:服务器确定时间,将其写入响应,响应通过网络传播,并且只要客户端的cpu给它一个时间片,javascript就会执行,等等.慢速链接如果页面很大,你可以预期延迟几秒钟.您可以通过确定用户时钟与GMT的距离来节省一些时间,并且只需通过该偏移调整所有时间计算.当然如果用户'

另请注意,客户端可以更改数据,因此不要信任他们发送给您的任何时间戳.

编辑: JimmyP的答案非常简单易用:使用Javascript添加一个

携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有