Java mongodb更改数据库时区
我使用spring boot和mongodb。当我在db中持久化对象时,它将更改为我的本地时区。当我在mongo上运行此命令时,mongo TimezoneOffset为-210:Java mongodb更改数据库时区,java,mongodb,spring-mongodb,Java,Mongodb,Spring Mongodb,我使用spring boot和mongodb。当我在db中持久化对象时,它将更改为我的本地时区。当我在mongo上运行此命令时,mongo TimezoneOffset为-210: newdate().getTimezoneOffset()=>-210。问题是从另一台服务器中的生产mongodb开始,该值为new Date()。getTimezoneOffset()=>0 问题是如何在像生产MongoDB这样的开发中进行TimezoneOffset 我持久化的java类是: Class Audi
newdate().getTimezoneOffset()=>-210
。问题是从另一台服务器中的生产mongodb开始,该值为new Date()。getTimezoneOffset()=>0
问题是如何在像生产MongoDB这样的开发中进行TimezoneOffset
我持久化的java类是:
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"),
}
new Date().getTimezoneOffset()
提供运行mongo shell的客户端系统上的时区偏移量
new Date()。getTimezoneOffset()提供运行mongo shell的客户端系统上的时区偏移量
这与服务器使用的时区偏移量无关。所有时间都存储在MongoDB中的UTC中
这与使用MongoDB的应用程序使用的时区偏移完全不同。每种编程语言/环境都有自己设置时区偏移的方法
您应该研究如何在应用程序中配置时区偏移。ISODate(“2020-09-22T04:34:44.798Z”)
表示UTC时间,因此我不明白为什么您的本地时区会相关。在本地时区显示此时间通常由客户端应用程序负责,而不是由服务器负责。@WernfriedDomscheit mongo将其更改为-210分钟前。我的本地时区是+3:30。默认情况下,我希望开发mongodb是正常的,并且生产必须更改,因为对于预览数据,用户希望看到他们的本地时间。但是在这种情况下,我的问题是只有统一TimezoneOffset
值。TimezoneOffset
不是MongoDB的属性,而是在客户端定义的。可能会设置环境变量,比如JAVA\u TOOL\u OPTIONS=-Duser.timezone=Europe/Zurich
,不幸的是,这个变量不在我的本地机器(windows)和mongodb(linux)环境中。(linux命令:printenv JAVA_TOOL_OPTIONS=>empty)好,然后设置它<代码>ISODate(“2020-09-22T04:34:44.798Z”)
表示UTC时间,因此我不明白为什么您的本地时区会相关。在本地时区显示此时间通常由客户端应用程序负责,而不是由服务器负责。@WernfriedDomscheit mongo将其更改为-210分钟前。我的本地时区是+3:30。默认情况下,我希望开发mongodb是正常的,并且生产必须更改,因为对于预览数据,用户希望看到他们的本地时间。但是在这种情况下,我的问题是只有统一TimezoneOffset
值。TimezoneOffset
不是MongoDB的属性,而是在客户端定义的。可能会设置环境变量,比如JAVA\u TOOL\u OPTIONS=-Duser.timezone=Europe/Zurich
,不幸的是,这个变量不在我的本地机器(windows)和mongodb(linux)环境中。(linux命令:printenv JAVA_TOOL_OPTIONS=>empty)好,然后设置它!mongodb可以从我的本地时间减少210分钟以保持utc时间吗?如果ok,那么与另一个没有类似操作的mongodb服务器有什么区别!?mongodb可以从我的本地时间减少210分钟以保持utc时间吗?如果ok,那么与另一个没有类似操作的mongodb服务器有什么区别!?