好的,我知道这似乎是多余的,也许我想念一些东西。但是我在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时间。
我该怎么做?
答案 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);});