java - 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 中发送日期
解决方案
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);
}
}
它应该可以解决您的问题。
推荐阅读
- css - 如何使Vuetify网格与内部组件高度相同
- c# - How do i connect my two models to allow cards to be entered into a deck?
- python - 如何用条件元素组成一个列表
- c# - 尝试注册时出现 Microsoft.AspNetCore.Identity.IdentityError
- javascript - 在 javascript/typescript 代码中为云功能设置超时
- html - 如何在 WordPress 的 weglot 插件的下拉按钮中获得圆角边框?
- java - Aspect to find all the pointcuts executed at runtime
- r - 为直方图的垂直线添加图例
- sql - 将 varchar 值“动态 sql 查询”转换为数据类型 int 时转换失败
- r - 对角块矩阵行之间的组合列表