Java(Spring)通过时区错误自动更正日期

时间:2019-07-15 07:18:34

标签: java spring postgresql date

所以我有一个修复错误的任务。因此,基本上,我向/ report-information发出GET请求,并在两个字段中进行响应: Date dateFrom Date dateTill

它应该返回的正确日期应该是: 2019-07-01 00:00:00 2019-07-31 23:59:59 -来自数据库的数据。基本上,我对这些字段进行GET请求,Java从数据库中获取该请求并将其发送回给我。

但是问题是发出GET请求后返回的值不知何故是: 2019-06-30 21:00:00 2019-07-31 20:59 :59 。由于某些自动时区校正,基本上是-3小时。

我需要创建一个方法或类似的方法,使Java忽略时区并且不更改日期。我应该使用 Date 变量,以免弄乱使用这些字段的许多其他代码。

我还要提到的是,当我调试整个过程时,以某种方式在@RequestMapping方法中正确地返回了这些字段,应该返回它们,但是当我通过浏览器或邮递员发出请求时,我可以按日期的时区版本进行更正。但是我可能错过了一些东西。

您有任何建议或想法,为什么Java在什么时候自动更改日期?以及如何防止它更正日期。

谢谢!

2 个答案:

答案 0 :(得分:1)

由于您已经提到在Controller代码中可以看到正确的日期,因此您可能需要检查用于将日期对象序列化为JSON的Jackson序列化器(假设这是将对象序列化为json)。您可以检查配置here的多个选项。

答案 1 :(得分:1)

前一天我也面临这个问题。 就我而言,它来自杰克逊图书馆(我的项目在春季启动)

为解决此问题,我在application.property文件中为Jackson lib设置了时区

spring.jackson.time-zone:Asia/Dhaka

就我而言,我在孟加拉国达卡

也可以尝试

enter image description here

for more details