为了账号安全,请及时绑定邮箱和手机立即绑定

Spring boot - MongoRepository 日期转换

Spring boot - MongoRepository 日期转换

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

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

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

  }

}

它应该可以解决您的问题。


查看完整回答
反对 回复 2022-03-10
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

Mongo compass 使用本地 PC 时区来转换和显示数据。至于 Java,除了在所需的时区发送 Java 日期外,没有什么可做的。


查看完整回答
反对 回复 2022-03-10
  • 2 回答
  • 0 关注
  • 226 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信