mongodb里Date字段的问题

java存入的时间是2017-02-20 14:42:56.848
clipboard.png
存入mongoDB后,看到的时间比存入的时间早了8个小时,有大腿知道怎么改回正常显示的吗?

阅读 8.8k
4 个回答

MongoDB中的Date类型数据只保存绝对时间值,不保存时区信息,因此“显示的时间”取决于MongoDB的客户端设置。

根据截图,猜测使用的是Robomongo。可以通过"Options" - "Display Dates in..." - "Local Timezone"来设置显示本地时间。

mongoDB默认按照UTC来存储时间,而我们中国所处时区通常叫做“东八区”,意思是UTC + 8,所以就出现了你说的,存入时间看起来比实际“早了8小时”。文档

或许你可以尝试在应用启动时,先设置下程序的默认时区?

TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));

由于没用java操作过mongoDB,不敢保证绝对正确,但你可以试试

你存入的时间是你服务器的时间,正常显示?说的是和本地时间一致么,那么需要计算时区算出时差保存的时候加上就行

推荐问题