天天看點

【注解使用】@JsonFormat與@DateTimeFormat注解的使用一、總結:二、實體類:三、解釋說明:

本文目錄

一、總結

二、實體類

三、解釋說明

一、總結:

注解@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

完結!