java日期時間格式化@JsonFormat與@DateTimeFormat的使用
如果要使用 @JsonFormat
這個注解的話,需要在項目中添加 jackson 相關(guān)的依賴包;
因為 @JsonFormat 注解不是 Spring 自帶的注解,所以使用該注解前需要添加 jackson 相關(guān)的依賴包。當然,如果是 SpringBoot 項目就不需要自己手動添加依賴了,因為在 spring-boot-start-web 下已經(jīng)包含了 jackson 相關(guān)依賴
。
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.3</version> </dependency>
如果要使用 @DateTimeFormat
這個注解的話,需要在項目中添加 springframework 相關(guān)的依賴包
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.9</version> </dependency>
大家可以去這個網(wǎng)站搜索想要的依賴:https://mvnrepository.com
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”,timezone = “GMT+8”)
將后端返回給前端的日期時間進行格式化,pattern為轉(zhuǎn)換后的格式,timezone為日期時間的時區(qū)默認情況下timeZone為GMT(即標準時區(qū)),而北京是在東八區(qū),所以會造成差8小時
。
提示:@JsonFormat注解可以在屬性的上方,同樣可以在屬性對應(yīng)的get方法上,兩種方式?jīng)]有區(qū)別
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime userCreateDate;
@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
將前端傳給后端的日期時間進行格式化,pattern為轉(zhuǎn)換后的格式
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime userCreateDate;
POST請求
,我們一般會用@RequestBody接收JSON對象,如果對象里面有日期時間類型數(shù)據(jù)的話,我們可以使用 @JsonFormat注解進行格式化,它既可以對出參進行格式化,也可以對入?yún)⑦M行格式化
GET請求
參數(shù)都是拼接在URL后面的,則需要使用@DateTimeFormat對入?yún)⑦M行格式化
,放到@RequestBody修飾的對象里面是無效的
@JsonFormat是格式化json格式
的。
@DateTimeFormat是格式化 key=value
這種格式的。
需要取數(shù)據(jù)到前臺,也需要前臺數(shù)據(jù)傳到后臺,都需要進行時間格式的轉(zhuǎn)換,可以同時使用
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date symstarttime;
SpringBoot的配置文件
application.yml
spring: # Content-Type 為 application/json, @JsonFormat(優(yōu)先級高) 或 spring.jackson.date-format jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 # Content-Type 為 application/x-www-form-urlencoded(普通表單上傳)spring.mvc.date-format(優(yōu)先級高) 或 @DatetimeFormat mvc: format: date-time: yyyy-MM-dd HH:mm:ss
application.properties
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 spring.jackson.serialization.indent_output=true spring.jackson.serialization.fail_on_empty_beans=false
到此這篇關(guān)于java日期時間格式化@JsonFormat與@DateTimeFormat的使用的文章就介紹到這了,更多相關(guān)java @JsonFormat與@DateTimeFormat內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決nacos升級spring cloud 2020.0無法使用bootstrap.yml的問題
這篇文章主要介紹了解決nacos升級spring cloud 2020.0無法使用bootstrap.yml的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06@Transactional和@DS怎樣在事務(wù)中切換數(shù)據(jù)源
這篇文章主要介紹了@Transactional和@DS怎樣在事務(wù)中切換數(shù)據(jù)源問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07nodejs連接dubbo服務(wù)的java工程實現(xiàn)示例
這篇文章主要介紹了在項目遷移中,nodejs連接dubbo服務(wù)的java工程實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-03-03一文詳解Java?etcd的應(yīng)用場景及編碼實戰(zhàn)
etcd?是一個高度一致的分布式鍵值存儲系統(tǒng)。本文旨在幫助大家理解etcd,從宏觀角度俯瞰etcd全局,掌握etcd的基本操作技能,需要的可以參考一下2022-08-08Java中final關(guān)鍵字和final的4種用法
這篇文章主要給大家分享的是?Java中final關(guān)鍵字和final的4種用法修飾類、修飾方法、修飾變量、修飾參數(shù),下面文章具有一定的參考價值,需要的小伙伴可以參考一下2021-11-11Java中靜態(tài)代碼塊、構(gòu)造代碼塊、構(gòu)造函數(shù)和普通代碼塊的區(qū)別
在Java中,靜態(tài)代碼塊、構(gòu)造代碼塊、構(gòu)造函數(shù)、普通代碼塊的執(zhí)行順序是一個筆試的考點,通過這篇文章希望大家能徹底了解它們之間的執(zhí)行順序,需要的朋友可以參考下2023-05-05