0
a = new Date();
Sun Apr 08 2012 16:58:03 GMT+0530 (IST)

有什么办法可以得到当前的 UTC 时间?我想在数学上得到一个补偿:

b = a.getTimezoneOffset()
-330

然后减去,得到值:

c = a - b
1333884483552

但是再看ca很难了。所以问题是: 如何在 javascript 中获取当前的 UTC 时间?

4

3 回答 3

3

首先,DateJavaScript 中的对象是时区无关的。它只存储自纪元以来的毫秒数。此外,它总是使用浏览器时区toString()get*()方法。您不能Date在不同的时区创建实例。

因此只需使用getUTC*()一系列方法:

new Date().getUTCHours()
new Date().getUTCMinutes()
//...

以获取 UTC 时间。

最后但同样重要的是 - 您的代码已损坏。a变量表示Date并在此处转换为毫秒:c = a - b. 然而b等于a.getTimezoneOffset()。时区偏移量以分钟为单位。您正在从毫秒中减去分钟...

也可以看看

于 2012-04-08T11:38:33.800 回答
1

toUTCString如果需要字符串,可以使用该函数。

new Date().toUTCString()
于 2012-04-08T11:40:51.167 回答
0

有一个名为jstimezonedetect的插件,您可以使用它来检测时区。你可以在这里找到

或使用日期的 UTC 方法,如

var now = new Date(); 
var now_utc = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(),  now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds());

演示

输出

日期 {Sun Apr 08 2012 18:31:50 GMT+0545(尼泊尔标准时间)}

日期 {Sun Apr 08 2012 12:46:50 GMT+0545(尼泊尔标准时间)}

于 2012-04-08T11:38:14.020 回答