获取“当前”UTC日期和时间。独立于当地时间/计算机时间

时间:2015-05-04 03:30:42

标签: javascript utc

好的,我知道这似乎是多余的,也许我想念一些东西。但是我在stackoverflow中看到的所有获得UTC日期的都是依赖于本地时间或依赖于计算机时间。

如:

var utcDate = new Date(Date.UTC());

...

var today = new Date();
var YY = today.getUTCFullYear();
var MM = today.getUTCMonth() + 1;
var DD = today.getUTCDate();
var h = today.getUTCHours();
var m = today.getUTCMinutes();

我猜是因为“Date()”依赖于Local Time \ Computer Time。我知道我在这方面很棒,但我认为这是如何运作的。

现在我想获取“CURRENT”(UTC日期和时间),这不依赖于本地/计算机时间。

因为当我尝试运行代码时,当我尝试配置计算机时间时,UTC日期和时间会发生变化。它显然取决于Local \ Computer时间。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

以下是使用时间服务器获取GMT日期时间的完整示例

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), o);
};
document.getElementsByTagName('head')[0].appendChild((function(){
    var s = document.createElement('script');
    s.type = 'text/javascript';
    s.src = url + '&callback=' + ud;
    return s;
})

这是一个jquery版本

$.getTime = function(zone, success) {
var url = 'http://json-time.appspot.com/time.json?tz='
        + zone + '&callback=?';
$.getJSON(url, function(o){
    success && success(new Date(o.datetime), o);
});};

然后直接打电话。

$.getTime('GMT', function(time){alert(time);});