MongoDB中DateTime类型的时区(时差)
问题描述:
用Java从MongoDB中取出DateTime类型字段的数据,输出后会发现输出的日期与MongoDB中显示的日期不一样,之间相关8小时。
出现问题原因:
mongodb对日期的处理都是按照标准时区储存的,不保留时区的特征.也就是只要保存到mongodb的日期类型,都是标准时区的时间!而java.util.Date 没有设置时区,是使用默认的时区。所以它们会出现相差8小时的问题出现。
这个问题可以忽略,按正常编程编写就可以。
如果你用的工具是mongoVUE,并且想在mongoVUE中看到的日期是正确的日期时,可以设置一下mongoVUE。
设置方法:
Tools -> Preferences -> 在左边选择Views -> 在右边的" Display dates in "框中选择Local Timezone -> 最后保存,重新打开表即可。
PS:mongoVUE 版本为 mongoVUE 1.5.3.0