@JsonFormat的导包问题

@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")//注解可以以该格式注入格式
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")//输出格式
private Date birthday;//出生日期',

在后台像前台传参数时,日期没有格式化,网上搜索了,输出用@JsonFormat但是没说用哪个包

下面是我脱坑之路:
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

<!-- JSON: jackson -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.12</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-lgpl</artifactId>
<version>1.9.12</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>

问题补充:我想要的是返回给前台的时间已经格式化,然而上面并没有解决我的问题于是:

方法如下:

单独写一个处理类继承JsonSerializer

package com.szch.aspect;

import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
* 格式化Response时间格式
* 在springmvc返回json数据的时候默认日期字段显示的是long类型的时间戳
* 如果想要返回格式化的日期如:yyyy-MM-dd这种格式的需要进行出现
*/
public class CustomDateSerializer extends JsonSerializer<Date> {

public void serialize(Date value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
jsonGenerator.writeString(sdf.format(value));
}
}
 

在实体类的属性字段上添加@JsonSerialize注解

@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")//注解可以以该格式注入格式
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//输出格式
@JsonSerialize(using = CustomDateSerializer.class)
private Date lastLogin;//最后登录时间',

结果OK了,postman返回



原文地址:https://www.cnblogs.com/zeussbook/p/9459028.html