即使当前时间是标准时间,Javascript日期构造函数也默认为夏令时

Javascript date constructor defaults to daylight savings even when current time is standard time

本文关键字:构造函数 日期 默认 夏令时 Javascript 时间 标准时间      更新时间:2023-09-26

例如:

var rd = new Date(2013, 2, 15, 10, 0, 0, 0);
rd.toString();

将返回"Fri Mar 15 2013 10:00:00 GMT-0700 (Pacific Daylight Time)",即使平台上当前的活动时间是"太平洋标准时间"。。

这毫无意义——它应该将TZ返回为当前活动的TZ

构造函数为什么要这样做?

我要说这是因为夏令时将于3月10日开始。所以,如果我想使用JS参加我计划在上午10:00举行的会议,我希望是PDT上午10:00。

我测试了几个场景,我将TZ设置为Pacific,并运行了你的代码,它告诉我和你一样,太平洋时间10:00,我将日期切换到9号,它说太平洋标准时间10:00,然后我告诉我的时钟忽略夏令时,将其设置回15号,然后它告诉我太平洋标准时间10:00。

我不得不说,根据我本地机器上的时间设置,这正是我所期望的工作方式。

附言:IE对本地机器时间设置的更改反应更灵敏,我不得不关闭并重新打开chrome,让它识别出我更改了时钟。