我有一组日期和时间,格式如下:
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-0400(纽约市)时,为什么说GMT + 2000?它是否正确'?如果没有,这怎么做得恰到好处?
- 更新:
我使用的是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"));
。
答案 0 :(得分:2)
创建Date
对象时,您没有指定时区偏移量。
> new Date("2013-07-01T16:10-04:00")
2013-07-01T20:10:00.000Z