@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返回
