Spring boot - MongoRepository 日期转换

我正在使用 Spring Boot 和使用 Spring Data 的 Mongo 存储库。我的 Spring 应用程序默认使用UTC时区。当我按日期查询 mongo DB 时,我在参数中发送日期如下,@Query: [...] 'TransactionDate': { $gte: ?4, $lt: ?5 } }并在参数中发送 Java 日期。但是,Mongo 将此 UTC 日期转换为 GMT,尽管它已经是 GMT 并且在返回数据时。它还会转换为本地时区,就好像它没有考虑 JVM 时区一样。如何强制 mongo 停止进行转换并了解我已经在 GMT 中发送日期


汪汪一只猫
浏览 227回答 2
2回答

MM们

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;@SpringBootApplicationpublic 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);  }}它应该可以解决您的问题。

慕婉清6462132

Mongo compass 使用本地 PC 时区来转换和显示数据。至于 Java,除了在所需的时区发送 Java 日期外,没有什么可做的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java