博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot 在SpringMVC中使用Jackson并格式化时间
阅读量:5221 次
发布时间:2019-06-14

本文共 2332 字,大约阅读时间需要 7 分钟。

 

全局配置  全局配置  全局配置  Jackson时间格式化

mvc  Jackson 返回时间时,默认会返回时间戳或者是 2018-08-30T12:12:12CST格式的时间字符串

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8
配置了以上参数 只能对Date 类型的时间格式化  对于 LocalDateTime ,Instant 并没有什么效果 只需要添加以下配置就可以解决
@Configuration public class Java8TimeConfig {
@Value("${spring.jackson.date-format}") private String formatValue; @Bean(name = "format") DateTimeFormatter format() {
return DateTimeFormatter.ofPattern(formatValue); } @Bean public ObjectMapper serializingObjectMapper(@Qualifier("format") DateTimeFormatter format) {
JavaTimeModule javaTimeModule = new JavaTimeModule(); javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(format)); javaTimeModule.addSerializer(Instant.class, new InstantCustomSerializer(format)); javaTimeModule.addSerializer(Date.class, new DateSerializer(false, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"))); ObjectMapper mapper = new ObjectMapper() .registerModule(new ParameterNamesModule()) .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) .registerModule(javaTimeModule); return mapper; } class InstantCustomSerializer extends JsonSerializer
{
private DateTimeFormatter format; private InstantCustomSerializer(DateTimeFormatter formatter) {
this.format = formatter; } @Override public void serialize(Instant instant, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
if (instant == null) {
return; } String jsonValue = format.format(instant.atZone(ZoneId.systemDefault())); jsonGenerator.writeString(jsonValue); } } } 需要引入相关jar包 下面是pom文件
com.fasterxml.jackson.module
jackson-module-parameter-names
com.fasterxml.jackson.datatype
jackson-datatype-jdk8
com.fasterxml.jackson.datatype
jackson-datatype-jsr310

转载于:https://www.cnblogs.com/liwc/p/9621435.html

你可能感兴趣的文章
RestTemplate 调用本地服务 connection refused
查看>>
.NET方向高级开发人员面试时应该事先考虑的问题
查看>>
台达PLC modbus 不支持04功能码
查看>>
python学习笔记--装饰器
查看>>
发布一个JavaScript工具类库jutil,欢迎使用,欢迎补充,欢迎挑错!
查看>>
discuz 常用脚本格式化数据
查看>>
MS CRM 2011 创建基于Fetch的报表 -- 进阶版
查看>>
zabbix 监控zookeeper
查看>>
trace与代码跟踪服务
查看>>
Fire!
查看>>
洛谷P2777
查看>>
Ajax
查看>>
PHPStorm2017设置字体与设置浏览器访问
查看>>
android开发学习笔记:圆角的Button
查看>>
Activity简介
查看>>
jqGrid树
查看>>
循环-12. 打印九九口诀表(15)
查看>>
oracle树状索引详解(图摘取《收获不止oracle》)
查看>>
Android Studio 设置代码提示和代码自动补全快捷键--Eclipse 风格 - 转
查看>>
ORACLE基本操作备忘
查看>>