Java 如何关闭springboot 3的时区调整?
关于这个问题,我已经读了很多不同的帖子,但似乎无法使任何提议的解决方案起作用。我补充说:Java 如何关闭springboot 3的时区调整?,java,spring-boot,date,jackson,timezone,Java,Spring Boot,Date,Jackson,Timezone,关于这个问题,我已经读了很多不同的帖子,但似乎无法使任何提议的解决方案起作用。我补充说: spring.jackson.deserialization.ADJUST_DATES_TO_CONTEXT_TIME_ZONE =false @PostConstruct void started() { TimeZone.setDefault(null); //TimeZone.setDefault(TimeZone.getTimeZone("UTC")
spring.jackson.deserialization.ADJUST_DATES_TO_CONTEXT_TIME_ZONE =false
@PostConstruct
void started() {
TimeZone.setDefault(null);
//TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
}
到我的applications.properties文件,但这不起作用。我尝试实现一个自定义反序列化程序,但似乎不起作用。有人知道如何让spring直接从db读取时间字段而不调整每个值的时区吗
编辑:我尝试了一种新方法,实际上更改了应用于输出记录的偏移量。在我的STarterApp类中,我添加了以下内容:
spring.jackson.deserialization.ADJUST_DATES_TO_CONTEXT_TIME_ZONE =false
@PostConstruct
void started() {
TimeZone.setDefault(null);
//TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
}
空值仅对每个记录应用一个小时,而使用UTC时的应用时间约为5小时。这是我设置时区的一种方法,让spring不调整返回的时间以包含时区差异吗?我只想要最初保存的时间,没有偏移量您使用哪个Java对象作为时间戳的表示?有些时间戳对象没有时区信息,例如“java.sql.timestamp”或“LocalDateTime”。您是否询问我将对象设置为哪个变量?如果在每个实体中都是这样设置的:@DateTimeFormat(iso=iso.DATE\u TIME)@JsonFormat(pattern=“yyy-MM-dd HH:MM”)private DATE expectedArrivalTime;在实体中,我更喜欢ja.sql.Timestamp而不是java.util.Date。。。但是,您的邮票是以什么格式传输的?您是否输出了json?我以为Jackson只是将时间戳转换成一个巨大的毫秒数。Spring Boot的最新正式版本是
2.2.2
,你是什么意思springboot 3
?