问题描述
我使用spring boot和mongodb。当我将对象保留在db中时,它更改为我的本地时区。这是我的mongo TimezoneOffset为-210的代码,当我在mongo上运行此命令时:
new Date().getTimezoneOffset() => -210
。问题是从另一个服务器上的生产mongodb开始的,该服务器的值是new Date().getTimezoneOffset() => 0
!
问题?如何在生产MongoDB等开发环境中制作TimezoneOffset
?
Class AuditDocument{
@Id
private String id;
@NotNull
private String creatorUsername;
@CreatedDate
private Date createDate;
}
开发MongoDB中的createDate从当前时间为-3:30的文档:
{
"_id" : ObjectId("5f697ee483eede29e2c13a2d"),"creatorUsername" : "superadmin","createDate" : ISODate("2020-09-22T04:34:44.798Z"),}
解决方法
C
为您提供了运行mongo shell的客户端系统上的时区偏移量。
-
这与服务器使用的时区偏移量无关。所有时间都存储在MongoDB的UTC中。
-
这与使用MongoDB的应用程序使用的时区偏移完全分开。每种编程语言/环境都有自己的设置时区偏移的方法。
您应该研究如何在应用程序中配置时区偏移 。