Spring启动 - MongoRepository日期转换

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

回答(1)

2 years ago

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);
  }
}

它应该解决你的问题 .