Java新API的時(shí)間格式化
前言:
時(shí)間過(guò)得真是快,現(xiàn)在已經(jīng)是2022年了。作為開(kāi)發(fā)來(lái)說(shuō),時(shí)間處理是非常繁瑣的。從Java 8開(kāi)始有了Java 8 Time Api 使用方法技巧、時(shí)間的處理更加優(yōu)雅,不再需要借助三方類庫(kù),而且線程安全。今天來(lái)梳理一下新API的格式化,而且還要玩點(diǎn)你沒(méi)玩過(guò)的東西,點(diǎn)贊、轉(zhuǎn)發(fā)、再看走起來(lái)。
新API的時(shí)間格式化
新的時(shí)間API的時(shí)間格式化由java.time.format.DateTimeFormatter
負(fù)責(zé)。
本地化時(shí)間
結(jié)合枚舉FormatStyle
定義的風(fēng)格,DateTimeFormatter
預(yù)定義了基于本地(Locale
)風(fēng)格的時(shí)間格式。
我們來(lái)看這段代碼:
String format = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM) .format(ZonedDateTime.now());
如果你在中國(guó),格式化結(jié)果:
2022年1月6日 下午4:22:01
如果你在美國(guó):
Jan 6, 2022, 4:21:10 PM
有三個(gè)靜態(tài)方法及其重載來(lái)格式化本地化時(shí)間,具體已經(jīng)整理成了思維導(dǎo)圖:
ISO/RFC規(guī)范格式
DateTimeFormatter
還內(nèi)置了ISO和RFC的時(shí)間格式,基于內(nèi)置的DateTimeFormatter
靜態(tài)實(shí)例。
舉個(gè)例子:
// 靜態(tài)實(shí)例 DateTimeFormatter isoWeekDateFormatter = DateTimeFormatter.ISO_WEEK_DATE; // 執(zhí)行格式化 String format = isoWeekDateFormatter.format(LocalDateTime.now()); // format = 2022-W01-4 System.out.println("format = " + format);
其它的如下表格所示:
范式格式化
這種方式應(yīng)該是我們最常用的方式了。通過(guò)字母和符號(hào)來(lái)構(gòu)建一個(gè)范式(Patterns),使用ofPattern(String)
或者ofPattern(String, Locale)
方法傳遞構(gòu)建的范式。例如,d MMM uuuu
將把2011-12-03
格式化為2011年12月3日
。從一個(gè)模式中創(chuàng)建的格式可以根據(jù)需要多次使用,它是不可改變的,并且是線程安全的。
相信什么yyyy-MM-dd HH:mm:ss
你都玩膩了,給大家看點(diǎn)你沒(méi)見(jiàn)過(guò)的:
// 最后面是兩個(gè)V 不是W 單個(gè)V會(huì)報(bào)錯(cuò) String pattern = "G uuuu'年'MMMd'日' ZZZZZ VV"; String format= DateTimeFormatter.ofPattern(pattern).format(ZonedDateTime.now()); // format = 2022-W01-4 System.out.println("format = " + format);
輸出:
format = 公元 2022年1月7日 +08:00 Asia/Shanghai
表格給你整理好了,你試一試:
到此這篇關(guān)于Java新API的時(shí)間格式化的文章就介紹到這了,更多相關(guān)Java格式化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 詳解Java關(guān)于時(shí)間格式化的方法
- java 格式化時(shí)間的示例代碼
- Java前后端時(shí)間格式的轉(zhuǎn)化方式
- Java驗(yàn)證時(shí)間格式是否正確方法類項(xiàng)目實(shí)戰(zhàn)
- java中的實(shí)體類時(shí)間格式化
- java如何讓帶T的時(shí)間格式化
- 學(xué)習(xí)Java之如何對(duì)時(shí)間進(jìn)行格式化
- Java格式化日期和時(shí)間三種方法
- mysql時(shí)間格式和Java時(shí)間格式的對(duì)應(yīng)方式
- Java處理時(shí)間格式CST和GMT轉(zhuǎn)換方法示例
- JAVA獲取特定格式時(shí)間方式
相關(guān)文章
java用applet畫(huà)圖用到的方法(涉及雙緩沖)
這篇文章主要介紹了java用applet畫(huà)圖用到的方法(涉及雙緩沖),然后作為基礎(chǔ)的基礎(chǔ)的基礎(chǔ),必須學(xué)習(xí)如何讓鍵盤(pán)與界面進(jìn)行交互。下面就是對(duì)一個(gè)基礎(chǔ)得不能再基礎(chǔ)的applet程序,需要的朋友可以參考下2019-06-06Springboot+QueryDsl實(shí)現(xiàn)融合數(shù)據(jù)查詢
這篇文章主要將介紹的是 Springboot 使用 QueryDsl 實(shí)現(xiàn)融合數(shù)據(jù)查詢,文中有詳細(xì)的代碼講解,對(duì) SpringBoot?Querydsl?查詢操作感興趣的朋友一起看看吧2023-08-08java顯示當(dāng)前運(yùn)行時(shí)的參數(shù)(java運(yùn)行參數(shù))
這篇文章主要介紹了java顯示當(dāng)前運(yùn)行時(shí)參數(shù)的示例(java運(yùn)行參數(shù)),需要的朋友可以參考下2014-04-04Spring Boot如何通過(guò)CORS處理跨域問(wèn)題
這篇文章主要介紹了Spring Boot如何通過(guò)CORS處理跨域問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Java Spring的數(shù)據(jù)庫(kù)開(kāi)發(fā)詳解
這篇文章主要介紹了Spring的數(shù)據(jù)庫(kù)開(kāi)發(fā),主要圍繞SpringJDBC和Spring Jdbc Template兩個(gè)技術(shù)來(lái)講解,文中有詳細(xì)的代碼示例,需要的小伙伴可以參考一下2023-04-04自己動(dòng)手寫(xiě)的mybatis分頁(yè)插件(極其簡(jiǎn)單好用)
最近做了個(gè)項(xiàng)目,需要用到mybatis分頁(yè)功能,網(wǎng)上找了很多插件,都不太合適,于是就自己動(dòng)手寫(xiě)了個(gè)mybatis分頁(yè)插件功能,非常不錯(cuò),代碼簡(jiǎn)單易懂,需要的朋友參考下吧2016-11-11Java自定義過(guò)濾器和攔截器實(shí)現(xiàn)ThreadLocal線程封閉
本文主要介紹了Java自定義過(guò)濾器和攔截器實(shí)現(xiàn)ThreadLocal線程封閉,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08spring中通過(guò)ApplicationContext getBean獲取注入對(duì)象的方法實(shí)例
今天小編就為大家分享一篇關(guān)于spring中通過(guò)ApplicationContext getBean獲取注入對(duì)象的方法實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03