Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获得;“当前”;UTC日期和时间。独立于本地时间/计算机时间_Javascript_Utc - Fatal编程技术网

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

Javascript 获得;“当前”;UTC日期和时间。独立于本地时间/计算机时间,javascript,utc,Javascript,Utc,好吧,我知道这似乎是多余的,也许我错过了什么。但是,我在stackoverflow中看到的获取UTC日期的数据都依赖于本地时间或计算机时间 例如: var utcDate = new Date(Date.UTC()); 我猜是因为“Date()”依赖于本地时间\计算机时间。我知道我在这方面不在行,但我想这就是它的工作原理 现在我想获取“当前”(UTC日期和时间),它不依赖于本地/计算机时间 因为当我尝试运行代码时,UTC日期和时间在我尝试配置计算机时间时发生变化。这显然取决于本地\计算机时间

好吧,我知道这似乎是多余的,也许我错过了什么。但是,我在stackoverflow中看到的获取UTC日期的数据都依赖于本地时间或计算机时间

例如:

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

我猜是因为“Date()”依赖于本地时间\计算机时间。我知道我在这方面不在行,但我想这就是它的工作原理

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

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


如何操作?

下面是一个使用时间服务器获取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);});

需要注意的两件事:1)如果您更改的是PC时区而不是PC时间,则它们不应更改;2)通常情况下,这将在服务器端完成,您可以控制硬件,而不是客户端(即使用UTC时区保存数据),正如我在问题中所说的,qoute“获取“当前”UTC日期和时间。独立于本地时间/计算机时间”。在您的回答中,utcDate.getTime()似乎取决于计算机/本地时间。我试图运行它,但不幸的是,当我试图更改它时,它一直在更改并适应我的系统时间。如果你想要GMT时间而不依赖计算机时钟,你必须点击服务器才能获得它。既然如此,为什么不这样做呢?将其包装在脚本标记中,并从返回的json中解析日期时间。这是我目前的一个大问题。看我的第一篇文章。我在一个不能使用脚本标记的网站上。这就是为什么我渴望找到另一种方法。还是有可能?我想我的问题是不可能的。如果您不能使用脚本标记,我认为您将无法使用本地utc日期时间,并在函数中每次需要时应用偏移小时数。这可能对您有用
$.getTime('GMT', function(time){alert(time);});