Java 日期時間格式化模式說明

Java 中日期時間格式化使用特定的模式字符串來定義輸出格式。以下是常見的格式化符號及其含義,適用于?SimpleDateFormat?和?DateTimeFormatter


一、日期部分格式化符號

符號含義示例
y年 (Year)yyyy → 2023
M月 (Month)MM → 09, MMM → Sep, MMMM → September
d月中的日 (Day of month)dd → 05, d → 5
D年中的日 (Day of year)D → 256 (第256天)
E星期幾 (Day of week)E → Mon, EEEE → Monday
F月中的第幾個星期幾F → 1 (每月的第一個星期四)
w年中的周 (Week of year)w → 38 (第38周)
W月中的周 (Week of month)W → 3 (第3周)

二、時間部分格式化符號

符號含義示例
H小時 (0-23)HH → 08
k小時 (1-24)k → 24
K小時 (0-11, AM/PM)KK → 08
h小時 (1-12, AM/PM)hh → 08
m分鐘 (Minute)mm → 30
s秒 (Second)ss → 45
S毫秒 (Millisecond)SSS → 789
n納秒 (Nanosecond)n → 123456789
aAM/PM 標記a → AM

三、時區格式化符號

符號含義示例
z時區名稱z → CST, zzzz → China Standard Time
Z時區偏移量Z → +0800, XXX → +08:00
O本地化時區偏移O → GMT+8
XISO 8601 時區X → +08, XX → +0800, XXX → +08:00

四、常見格式示例

1. 基本日期時間格式

  • yyyy-MM-dd?→ 2023-09-15

  • MM/dd/yyyy?→ 09/15/2023

  • dd-MMM-yyyy?→ 15-Sep-2023

  • yyyy-MM-dd HH:mm:ss?→ 2023-09-15 14:30:45

  • yyyy-MM-dd HH:mm:ss.SSS?→ 2023-09-15 14:30:45.789

2. 帶時區的格式

  • yyyy-MM-dd HH:mm:ss Z?→ 2023-09-15 14:30:45 +0800

  • yyyy-MM-dd HH:mm:ss XXX?→ 2023-09-15 14:30:45 +08:00

  • yyyy-MM-dd'T'HH:mm:ss.SSSZ?→ 2023-09-15T14:30:45.789+0800 (ISO 8601)

3. 可讀性強的格式

  • EEEE, MMMM d, yyyy?→ Friday, September 15, 2023

  • hh:mm a?→ 02:30 PM

  • h:mm a, zzzz?→ 2:30 PM, China Standard Time


五、使用示例

SimpleDateFormat (傳統API)

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formatted = sdf.format(new Date());
// 輸出: 2023-09-15 14:30:45

DateTimeFormatter (Java 8+)

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formatted = LocalDateTime.now().format(formatter);
// 輸出: 2023-09-15 14:30:45

ISO 8601 格式

Instant.now().toString();  // 自動使用ISO 8601格式
// 輸出: 2023-09-15T06:30:45.789Z

六、特殊字符處理

DateTimeFormatter.ofPattern("yyyy-MM-dd 'at' HH:mm:ss");
// 輸出: 2023-09-15 at 14:30:45

七、本地化格式

// Java 8 方式
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG).withLocale(Locale.CHINA);
// 輸出: 2023年9月15日 下午02時30分45秒 (中文環境)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93891.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93891.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93891.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

代碼隨想錄算法訓練營三十三天|動態規劃part06

LeetCode 322 零錢兌換 題目鏈接:322. 零錢兌換 - 力扣(LeetCode) 給你一個整數數組 coins ,表示不同面額的硬幣;以及一個整數 amount ,表示總金額。 計算并返回可以湊成總金額所需的 最少的硬幣個數 。…

【大模型LLM】大模型訓練加速 - 梯度累積(Gradient Accumulation)原理詳解

梯度累積(Gradient Accumulation)原理詳解 梯度累積是一種在深度學習訓練中常用的技術,特別適用于顯存有限但希望使用較大批量大小(batch size)的情況。通過梯度累積,可以在不增加單個批次大小的情況下模擬…

【數據分享】各省文旅融合耦合協調度及原始數據(2012-2022)

數據介紹引言 文旅融合是推動區域經濟高質量發展、促進共同富裕的重要路徑。黨的二十大報告明確提出“推進文化和旅游深度融合發展”的戰略目標,文旅產業通過資源整合與業態創新,可顯著縮小城鄉、區域差距,提升物質與精神雙重福祉&#xff08…

Linux編程: 10、線程池與初識網絡編程

今天我計劃通過一個小型項目,系統講解線程池與網絡編程的核心原理及實踐。項目將圍繞 “利用線程池實現高并發網絡通信” 這一核心需求展開,具體設計如下: 為保證線程安全,線程池采用單例模式設計,確保全局唯一實例避…

藏云閣 Logo 庫(開源項目SVG/PNG高清Logo)

在日常技術方案設計、架構圖繪制或PPT制作中,常常會遇到一些問題,比如: 找不到統一風格的開源項目組件圖標,PPT中的logo五花八門下載的圖標分辨率不足,放大后模糊失真不同來源的圖標顏色風格沖突,破壞整體…

從0開始學習R語言--Day64--決策樹回歸

對于沒有特征或者說需要尋找另類關系的數據集,我們通常會用聚合或KNN近鄰的方法來分類,但這樣的分類或許在結果上是好的,但是解釋性并不好,有時候我們甚至能看到好的結果反直覺;而決策樹回歸做出的結果,由于…

B+樹高效實現與優化技巧

B樹的定義 一顆M階B樹T,滿足以下條件 每個結點至多擁有M課子樹 根結點至少擁有兩顆子樹 除了根結點以外,其余每個分支結點至少擁有M/2課子樹 所有的葉結點都在同一層上 有k棵子樹的分支結點則存在k-1個關鍵字,關鍵字按照遞增順序進行排序 關鍵字數量滿足 ceil( M/2 ) - 1 &…

Android 基礎入門學習目錄(持續更新)

四大組件 Activity: Service: BroadcastReceiver: ContentProvider: UI 與交互開發 常見的UI布局和UI控件 樣式與主題 Fragment Intent 數據存儲 自定義View和自定義Group 自定義View 自定義ViewGroup 事件分發 Key…

Linux移動大量文件命令

背景 使用 mv 命令報“/bin/mv: 參數列表過長”,也是第一遇到,查了一下,最后用rsync命令解決了。還好每臺服務器,都必裝rsync了,記錄如下。 命令 nohup rsync -av --remove-source-files --progress /public/tmp/video…

SQL中的HAVING用法

HAVING 是 SQL 中專門對 “分組之后的聚合結果” 再做篩選的子句。 它一般跟在 GROUP BY 后面,不能單獨使用,作用類似于分組版的 WHERE。? 1. 語法位置 SELECT 列1, 聚合函數(列2) AS 別名 FROM 表 GROUP BY 列1 HAVING 聚合條件; -- 這里寫對聚合…

【Halcon 】Halcon 實戰:如何為 XLD 模板添加極性信息以提升匹配精度?

Halcon 實戰:如何為 XLD 模板添加極性信息以提升匹配精度? 在使用 Halcon 進行模板匹配時,我們通常有兩種方式創建模板: 基于圖像灰度(CreateScaledShapeModel)基于輪廓 XLD(CreateScaledShapeM…

grafana/lock-stack 日志 Pipeline 配置

前言 本文使用的是 grafana/loki-stack chart 抓取的 k8s 日志。其他 chart 配置都差不多。 日志問題 docker 容器運行時 pod 內原始日志 [cpu-4] Hello, 第 9788 次報時,時間:2025-08-01T06:35:420000 {"HOSTNAME":"cpu-4",&qu…

appium2.0+之PointerActions詳解

以下內容在 夜神模擬器 上進行。 一、應用場景 一些針對手勢的操作,比如滑動、長按、拖動等。可以將這些基本手勢組合成一個相對復雜的手勢。 二、使用步驟創建觸摸輸入設備(模擬手指操作) touch_input PointerInput(interaction.POINTER_TO…

Java HTTPS 請求失敗排查與證書導入全過程

文章目錄Java HTTPS 請求失敗排查與證書導入全過程問題背景問題初步分析排查過程查看目標地址證書導入證書驗證證書是否導入成功重啟應用進一步驗證:是否真的是證書問題?1. 瀏覽器訪問2. 抓包工具驗證(如 Charles、Wireshark)補充…

android APT技術

1,背景 對于注解的使用,想必大家都不陌生,它出現在我們的源碼中,以及大部分框架中,比如ButterKnife、Arouter、Retrofit,但它們是有區別的,其中前2個是編譯時注解,最后一個是運行時注…

MySQL 和 PostgreSQL綜合比對分析匯總

面對大數據項目或其它類型項目中,面對關系型數據庫選擇一直是很總要的一點,本文針對MySQL 和 PostgreSQL進行綜合比對分析匯總,內容僅供參考。MySQL 和 PostgreSQL 是兩款主流的開源關系型數據庫(RDBMS),但…

Linux---make和makefile

一、基本概念1.是什么make是一條命令,makefile是一個文件2.對應在vs中按一下f5就能運行代碼,在Linux中make就相當于f5,使用makefile來封裝從而實現我, 想要的功能3.使用①創建makefile文件②編輯makefile解釋:test.exe…

【DAB收音機】DAB收音機協議及其他資料匯總

目錄[ETSI DAB標準協議文檔](https://www.etsi.org/standards)Other DAB資料DAB收音機相關的專利DAB收音機相關的期刊及學位論文DAB開源項目代碼倉庫qt-dab工具welle.io工具dablin工具【eti廣播工具】?? 項目對比與選型建議Other 收音機資料Other資料ETSI DAB標準協議文檔 官…

RabbitMQ的特點和消息可靠性保障

掌握RabbitMQ的核心知識,需從其特點和消息可靠性保障(尤其是消息丟失解決方案)兩方面入手,以下是詳細說明: 一、RabbitMQ的核心特點 RabbitMQ是基于AMQP(Advanced Message Queuing Protocol)協議…

項目升級啦

公司要新做一個醫療行業的業務,經過業務端和產品端的評估該業務與公司已有的產品線關聯不大,用戶后續也不想在老系統那臺老爺車上繼續使用,話說老系統到現在差不多10年了,中間經歷過的前后端開發者形形色色,維護者換了…