我有一組日期和時間,它的格式如下:將日期字符串轉換爲帶日期的ISO日期
01.07.2013 16:10
。
我知道我必須重新安排,以配合ISO標準,所以我設法用這樣的字符串結束:
2013-07-01T16:10
。
由此,我需要創建一個Date
對象。在閱讀關於此的許多問題後,我對如何添加時區有點困惑。所有的時間都在紐約當地時間的城市,我也想把日期存儲在裏面。
所以既然Javascript從我的機器上取時區,我就把它改成了紐約的那個時區。但是,下面的部分混淆了我最:
> print(new Date("2013-07-01T16:10"))
Mon Jul 01 2013 16:10:00 GMT+2000 (EDT)
問:爲什麼它說GMT + 2000年的時候我的本地時間爲GMT-0400(NYC的一個)?它是否正確'?如果不是,這是如何正確完成的?
- 更新: 我使用mongoDB 3.4.4
和解釋器版本是MozJS-38
。 systemsetup -gettimezone
返回America/New_York
。在chrome中運行mongo-express顯示:Mon Jul 01 2013 06:00:00 GMT+0200 (EDT)
爲ISODate("2013-07-01T04:00:00.000Z")
存儲,但shell說Tue Jul 02 2013 00:00:00 GMT+2000 (EDT)
爲print(new Date("2013-07-01T04:00:00.000Z"));
。
你確定它確切地說'「GMT + 2000」'?如果是這樣,你的機器的時區數據已損壞。世界上沒有比格林威治時間早20小時的地方。此外,紐約將採用該格式的「GMT-0400」。你確定你不是在這裏打零嗎? –
是的,我確定。是的,我也希望它是'「GMT-0400」'。我正在使用MacOS,在更改時區後未重新啓動。也許這是原因。 – ffritz
好的,但你*寫了''「GMT-4000」',所以你在錯誤的位置有零。你確定你沒有使用'GMT + 2000''嗎?你的意思是'「GMT + 0200」'? –