Spring boot - MongoRepository 日期转换
Spring boot - MongoRepository date conversion
我正在使用 Spring 引导和 Mongo 存储库使用 Spring 数据。我的 Spring 应用程序默认使用 UTC 时区。当我按日期查询 mongo 数据库时,我在 @Query: [...] 'TransactionDate': { $gte: ?4, $lt: ?5 } }
中发送日期如下,并在参数中发送 Java 日期。但是,Mongo 将此 UTC 日期转换为 GMT,尽管它已经是 GMT 并且在返回数据时。它还转换为本地时区,就好像它没有考虑 JVM 时区一样。我如何才能强制 mongo 停止进行 theis 转换并了解我已经以 GMT
发送日期
package com.onlinetutorialspoint.SpringBoot_Custom_ErrorPage;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import javax.annotation.PostConstruct;
import java.util.Date;
import java.util.TimeZone;
@SpringBootApplication
public class Application {
@PostConstruct
public void init(){
// Setting Spring Boot SetTimeZone
TimeZone.setDefault(TimeZone.getTimeZone("IST"));
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
它应该可以解决您的问题。
Mongo指南针使用本地PC时区来转换和显示数据。至于 Java 除了在所需时区发送 Java 日期外,别无他法。
我正在使用 Spring 引导和 Mongo 存储库使用 Spring 数据。我的 Spring 应用程序默认使用 UTC 时区。当我按日期查询 mongo 数据库时,我在 @Query: [...] 'TransactionDate': { $gte: ?4, $lt: ?5 } }
中发送日期如下,并在参数中发送 Java 日期。但是,Mongo 将此 UTC 日期转换为 GMT,尽管它已经是 GMT 并且在返回数据时。它还转换为本地时区,就好像它没有考虑 JVM 时区一样。我如何才能强制 mongo 停止进行 theis 转换并了解我已经以 GMT
package com.onlinetutorialspoint.SpringBoot_Custom_ErrorPage;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import javax.annotation.PostConstruct;
import java.util.Date;
import java.util.TimeZone;
@SpringBootApplication
public class Application {
@PostConstruct
public void init(){
// Setting Spring Boot SetTimeZone
TimeZone.setDefault(TimeZone.getTimeZone("IST"));
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
它应该可以解决您的问题。
Mongo指南针使用本地PC时区来转换和显示数据。至于 Java 除了在所需时区发送 Java 日期外,别无他法。