Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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在同一台机器上提供不同的时区_Javascript_Google Chrome_Date - Fatal编程技术网

Javascript在同一台机器上提供不同的时区

Javascript在同一台机器上提供不同的时区,javascript,google-chrome,date,Javascript,Google Chrome,Date,如果我是否使用参数初始化日期,google chrome控制台将返回不同的时区 在另一台机器上,相同的代码给出了正确的结果: 这很奇怪,但它正在发生我想是夏令时(DTS) 从日志中可以看出,这些计算机不在同一个位置,而且似乎在巴西,适用于11月初 一个快速测试这是否正确的方法是,尝试创建一个10月的日期,而不是11月的日期。我不太明白-您在两台不同的计算机上显示了一个完全合理的结果,而今天肯定不是11月15日,所以事实是new date()和new date(11月的日期)给你不同的值是有意

如果我是否使用参数初始化日期,google chrome控制台将返回不同的时区

在另一台机器上,相同的代码给出了正确的结果:


这很奇怪,但它正在发生

我想是夏令时(DTS)

从日志中可以看出,这些计算机不在同一个位置,而且似乎在巴西,适用于11月初


一个快速测试这是否正确的方法是,尝试创建一个10月的日期,而不是11月的日期。

我不太明白-您在两台不同的计算机上显示了一个完全合理的结果,而今天肯定不是11月15日,所以事实是
new date()
new date(11月的日期)
给你不同的值是有意义的。至于时区:您的输入字符串没有说明要使用哪个时区,因此JS完全可以自由选择它想要的任何时区。如果需要BST,不要使用
Z
?JS是否应该选择客户端时区?在第二张图片中,我传递了相同的11月日期,但它返回了机器时区。在第一张图片中,JS从我所在的地区(巴西利亚)选择夏令时,JS选择“无论浏览器设置如何”,并且有各种不同的设置将改变它最终使用的内容。它甚至可能会决定,为了尊重您的安全或跟踪设置,您甚至没有时区,
new Date()
最终是1970年1月1日00:00:00 UTC。当然,这里真正的答案是“使用像矩.js这样的日期库”,因为本地化很难,日期也很难,加起来更难,你应该相信很多其他人,他们已经确定了在处理日期时的所有疯狂行为。不同版本的Chrome可能会考虑Daililight的变化,也可能不考虑Daililight的变化。检查两台机器上的Crome版本你是对的。我在7月份初始化了一个新日期,并得到了正确的时区。所以,问题是第二个映像,我初始化了一个11月的日期,但没有得到DST。也许Ubuntu服务器(第二张图片)不知道这一点,而Windows服务器知道(第一张图片)。通过阅读wiki页面,巴西采用DTS的方式有太多的参数和变化,因此其中一个来源可能已经放弃支持它。是的,实际上今年是第一次没有DST,它被取消了。