0

我正在尝试从nodejsmy中保存一个 Date 值mongodb,但保存的值是前一天。更确切地说是一小时。

如果我使用console.log(new Date(this.year, this.month, this.day));innodejs我得到:

2013 年 3 月 19 日星期二 00:00:00 GMT+0100 (CET)

但在 mongodb 我有以下记录:

2013-03-18 23:00:00 +0000

记录提前一小时。

但为什么?我必须在 mongodb 中设置时区吗?我正在使用 Os X:

时区:欧洲/柏林

4

3 回答 3

3

MongoDB 仅以 UTC 存储时间。留给应用程序进行时区转换。

于 2013-02-22T12:01:45.683 回答
1

这不是提前一小时 - 它使用时区 +00:00 而不是 +01:00 存储在 mongodb 中。

00:00 +01:00 === 23:00 +00:00

于 2013-02-19T08:18:14.860 回答
1

为避免时区问题,只需添加process.env.TZ = 'UTC'."main"

于 2013-02-19T09:01:25.473 回答