spring中時間格式化的兩種方法示例講解
spring中時間格式化的兩種方式
方法一:自己格式化
自己寫一個格式化的類,把date類型的時間傳進去:
public class DateUtil {
public static String formatDate(Date date){
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.format(date);
}
}重寫相關屬性的get方法:
public String getCreateTime() {
if (createTime==null){
return "";
}
return DateUtil.formatDate(createTime);
}然后獲取的時間就是正確的格式了。
方法二:配置
在配置文件中(.yml)配置:
# JSON序列化配置
Spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss # 日期格式補充:Spring項目中時間格式化的方法
1. 前言
在 web 開發(fā)中,我們經常會遇到前臺和后臺進行時間格式轉換交互,下面做一下總結
- 使用工具類
SimpleDateFormat - 使用
@JsonFormat - 使用
@JSONField - 使用
@DateTimeFormat - 使用第三方組件
Hutool
1.1. 使用工具類 SimpleDateFormat
對于這個工具類這里不做過多的贅述
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateTime = df.format(new Date());1.2. 使用 @JsonFormat
@JsonFormat 來源于 Jackson , Jackson 是一個簡單基于 Java 應用庫, Jackson 可以輕松的將 Java 對象轉換成 json 對象和 xml 文檔,同樣也可以將 json、xml 轉換成 Java 對象。 Jackson 所依賴的 jar 包較少,簡單易用并且性能也要相對高些,并且 Jackson 社區(qū)相對比較活躍,更新速度也比較快
public class Order {
// timezone:是時間設置為東八區(qū),避免時間在轉換中有誤差
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createDate;
}1.3. 使用 @JSONField
@JSONField 來源于 fastjson ,是阿里的開源框架,主要進行 JSON 解析和序列化
public class Order {
@JSONField(format="yyyy-MM-dd HH:mm:ss")
private Date time;
}1.4. 使用 @DateTimeFormat
@DateTimeFormat 是 spring 自帶的處理框架,主要用于將時間格式化
public class Order {
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createDate;
}1.5. @JsonFormat + @DateTimeFormat
public class Order {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createDate;
}1.6. 使用第三方組件 Hutool
Hutool 是一個小而全的 Java 工具類庫,通過靜態(tài)方法封裝,降低相關 API 的學習成本,提高工作效率
String dateTime1="2018-02-18 20:53:45";
String dateTime2="2018-02-18";
String dateTime3="20:53:45";
String dateTime4="2018-02-18 20:53";
//將不同的格式轉換為Date對象
Date date1=DateUtil.parse(dateTime1);
System.out.println("date1:"+date1.toString());
Date date2=DateUtil.parse(dateTime2);
System.out.println("date2:"+date2.toString());
Date date3=DateUtil.parse(dateTime3);
System.out.println("date3:"+date3.toString());
Date date4=DateUtil.parse(dateTime4);
System.out.println("date4:"+date4.toString());
//使用DateUtil.parse(String,String):Date 轉換為指定格式的Date對象
Date date5=DateUtil.parse(dateTime1, "yyyy-MM-dd");
System.out.println("date5:"+date5.toString());http://www.dbjr.com.cn/article/250370.htm
參考資料:
詳細的使用 API 參考
到此這篇關于spring中時間格式化的兩種方式的文章就介紹到這了,更多相關spring時間格式化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
一文深入分析java.lang.ClassNotFoundException異常
這篇文章主要給大家介紹了關于java.lang.ClassNotFoundException異常的相關資料,java.lang.ClassNotFoundException是Java編程時經常會遇到的一個異常,它表示JVM在嘗試加載某個類時未能找到該類,需要的朋友可以參考下2023-10-10
mybatis中BigDecimal中的0存為null的坑及解決
在使用MyBatis進行數(shù)據庫操作時,若Java中屬性類型為BigDecimal且值為0,插入數(shù)據庫時可能會變?yōu)閚ull,而不是0,這個問題可能是由于MyBatis在處理BigDecimal類型時的弱類型判斷導致的,當BigDecimal變量與空字符串進行比較時,MyBatis可能將其視為null2024-10-10
jcl與jul?log4j1?log4j2?logback日志系統(tǒng)機制及集成原理
這篇文章主要介紹了jcl與jul?log4j1?log4j2?logback的集成原理,Apache?Commons-logging?通用日志框架與日志系統(tǒng)的機制,有需要的朋友可以借鑒參考下2022-03-03
java不用循環(huán)語句打印數(shù)組元素的實例
下面小編就為大家?guī)硪黄猨ava不用循環(huán)語句打印數(shù)組元素的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03
SpringBoot集成ElasticSearch實現(xiàn)minio文件內容全文檢索
這篇文章詳細介紹了如何在Spring?Boot項目中集成Elasticsearch和Kibana,包括Docker安裝、中文分詞器安裝、后端代碼實現(xiàn)以及前端查詢組件封裝,需要的朋友可以參考下2024-11-11
SpringBoot如何接收前端傳來的json數(shù)據
這篇文章主要介紹了SpringBoot如何接收前端傳來的json數(shù)據問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04

