Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/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';s Date()从何处获取时区?_Javascript_Date_Timezone_Timezone Offset - Fatal编程技术网

javascript';s Date()从何处获取时区?

javascript';s Date()从何处获取时区?,javascript,date,timezone,timezone-offset,Javascript,Date,Timezone,Timezone Offset,我看到一些令人困惑的行为: 我在格林尼治时间时区。我关掉我的wifi,以确保互联网没有弄乱任何东西 然后我将此代码加载到我的应用程序(跨浏览器,但在Android上运行): 这给了我以下信息:2017年6月22日星期四20:52:02 GMT-0500。我在console.log和Chrome调试器中都看到了这一点 然而,我现在想改变我的时区。因此,我退出了应用程序,转到系统设置,并将其更改为新西兰时间(+12:00)。我重新启动了我的应用程序,但现在我仍然看到:2017年6月22日星期四20:

我看到一些令人困惑的行为:

我在格林尼治时间时区。我关掉我的wifi,以确保互联网没有弄乱任何东西

然后我将此代码加载到我的应用程序(跨浏览器,但在Android上运行):

这给了我以下信息:
2017年6月22日星期四20:52:02 GMT-0500
。我在console.log和Chrome调试器中都看到了这一点

然而,我现在想改变我的时区。因此,我退出了应用程序,转到系统设置,并将其更改为新西兰时间(+12:00)。我重新启动了我的应用程序,但现在我仍然看到:
2017年6月22日星期四20:52:02 GMT-0500(NZST)
。注意,它拾取了NZST,但仍然显示GMT-0500。 这是一个问题,因为尽管UTC时间(自然)仍然有效,但按照现有代码的设置方式,本地时间已经存储在其他地方


我通过将本地时间转换为UTC并计算偏移量来解决这个问题,但现在当我更改偏移量时,我没有得到正确的时区(根据平板电脑的时区)。有人有什么想法吗?

你的时间(在windows中)显示了什么?第二,你可能想检查你机器的bios时间。这是一件奇怪的事情。在平板电脑上,我更改了时间和时区(将时间偏移约15分钟)。当我试图显示日期时,它反映了15分钟的偏移量,但不是时区的变化(上面列出的),可能,嗯。。。gauravmuk,很接近。但这是一个浏览器应用程序,当我在Android上运行我的应用程序时,我完全卸载了我的应用程序(因此从平板电脑的角度来看,它只知道我设置的自定义时区),标题中问题的答案是“从操作系统”。然而,你说“在Android上运行”——它是什么类型的设备?主流还是传统?您的设备是否可能没有时区支持?这听起来更像是Android问题,而不是JavaScript问题。另外,当你混合“悬停在它上面”,然后说你在平板电脑上的时候,我很困惑——你是在一个连着鼠标的平板电脑上吗?你还交换了Chrome浏览器和“应用程序”,所以我不确定你到底在运行什么…你的时间(在windows中)显示了什么?第二,你可能想检查你机器的bios时间。这是一件奇怪的事情。在平板电脑上,我更改了时间和时区(将时间偏移约15分钟)。当我试图显示日期时,它反映了15分钟的偏移量,但不是时区的变化(上面列出的),可能,嗯。。。gauravmuk,很接近。但这是一个浏览器应用程序,当我在Android上运行我的应用程序时,我完全卸载了我的应用程序(因此从平板电脑的角度来看,它只知道我设置的自定义时区),标题中问题的答案是“从操作系统”。然而,你说“在Android上运行”——它是什么类型的设备?主流还是传统?您的设备是否可能没有时区支持?这听起来更像是Android问题,而不是JavaScript问题。另外,当你混合“悬停在它上面”,然后说你在平板电脑上的时候,我很困惑——你是在一个连着鼠标的平板电脑上吗?你还交换了Chrome浏览器和“应用程序”,所以我不确定你到底在运行什么。。。
var todayDate = new Date();
console.log(todayDate);