本文目錄
一、總結
二、實體類
三、解釋說明
一、總結:
注解@JsonFormat:主要解決後端向前端傳參時的時間格式轉換的問題;
注解@DateTimeFormat:主要解決前端向後端傳參時的時間格式轉換的問題。
二、實體類:
@Data
public class ProductMessage {
@ExcelField("編号")
private int id;
/**
* 客戶姓名
*/
@ExcelField("客戶姓名")
private String customerName;
/**
* 客戶電話
*/
@ExcelField("客戶電話")
private String customerPhone;
/**
* 客戶郵箱
*/
@ExcelField("客戶郵箱")
private String customerEmail;
/**
* 産品意向
*/
@ExcelField("産品意向")
private String productWant;
/**
* 建立時間
*/
@ExcelField(value = "建立時間", dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 客戶狀态:0,未聯系, 1,已聯系
*/
@ExcelField("客戶狀态:0,未聯系, 1,已聯系")
private String customerStatus;
}
三、解釋說明:
1、 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
pattern:是需要轉換的時間日期的格式;
timezone:是将時間設定為東八區(中國大陸用的是東八區的時間),避免時間在轉換中有誤差(如果不填寫,會有八個小時的誤差)。
JsonFormat 預設的時區是 Greenwich Time, 預設的是格林威治時間,而我們是在東八區上,是以需要在預設時區的基礎上加上8個時區。
2、@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
pattern:是需要轉換的時間日期的格式。
這裡我兩個注解都同時使用了,因為我既需要取資料到前台,也需要前台資料傳到背景,都需要進行時間格式的轉換,可以同時使用的。
拓展:【注解使用】使用@JsonFormat注解踩過的坑:https://blog.csdn.net/weixin_44299027/article/details/110677354
完結!