我试图在javascript中显示日期。我从后端收到这样的日期:2020-09-22T17:10:25Z
(来自和Java中的即时对象)。
当我尝试呼叫new Date("2020-09-22T17:10:25Z")
时,我得到:Tue Sep 22 2020 20:10:25 GMT+0300 (Eastern European Summer Time)
。这个问题是,我不是在GMT+0300
时区,而是GMT+0200
。
当我尝试调用new Date()
时,另一方面,我得到Thu Dec 08 2022 20:34:11 GMT+0200 (Eastern European Standard Time)
,这是我正确的时区。
我的问题是,为什么在第一种情况下我得到GMT+0300
,在第二种情况下我得到GMT+0200
?我试图解析的字符串中的Z
代表Zulu
或zero hour offset
,那么为什么这2种不同的方法使用不同的时区?
看起来你在冬天是在GMT+2
,但是在夏天(九月)你是在夏天,也就是GMT+3
javascript的date()函数工作于本地计算机上设置的时间之外。如果它给出GMT+3
,那么您的计算机设置为GMT+3
。检查你的系统时钟配置
窗口:https://kb.wisc.edu/helpdesk/page.php?id=79027
mac: https://support.apple.com/en-ca/guide/mac-help/mchlp2996/mac
linux: https://www.makeuseof.com/how-to-set-date-and-time-linux/