前言
本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/90614164
未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys
1,关于时区
其实很简单的问题,折腾几个小时,白白浪费时间。
开始还以为是数据库的时间问题。设置了半天 jdbc的时区。结果一查询数据库发现没有问题。
存储的时候都是对的,只是在显示才有问题。
之前没有在这个问题。好像是升级到spring5 才需要配置下 返回 日期格式问题。
2,其实非常简单
网络上有关于 spring boot的配置:
https://www.baeldung.com/spring-boot-formatting-json-dates
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=Asia/Shanghai
使用srping mvc 也特别简单:
@Configuration
public class ContactAppConfig implements WebMvcConfigurer {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//设置转换器格式,和时区。
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder()
.indentOutput(true)
.dateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"))
.timeZone(TimeZone.getTimeZone("Asia/Shanghai"))
.modulesToInstall(new ParameterNamesModule());
converters.add(new MappingJackson2HttpMessageConverter(builder.build()));
}
}
本身 Jackson2ObjectMapperBuilder 就有设置时区的方法。
开始还天真的以为 弄个 格式化,给 SimpleDateFormat 设置时区就行呢。
哎真的是,活到老学到老呢。
然后 使用 spring mvc 转换的 日期就能被正确格式了。
且时区都是对的。貌似 spring 5 不设置 格式化 也会被格式化成 yyyy-MM-dd HH:mm:ss 这样的格式。
所以都不知道哪里配置错了。。。郁闷。
3,总结
有的时候非常简单的问题,也费点时间解决。
记录下,为了白白浪费的时间。
本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/90614164