ISO 8601 是表達日期、時間、UTC、帶 UTC offset 的當地時間、時間區間及重複時間區間的國際標準。本文以常見的公曆表示法整理各類格式;短式與基本格式適合理解標準格式家族,但實際交換前仍需確認接收系統接受哪些形式。ISO 8601-1 是基本規則,ISO 8601-2 定義擴充表示法。查核日期:2026-10-05。
速查:日期有哪些完整表示家族
下表列出常用的年、月、日、年內日序及週日期形式。YYYY 是四位數年份;MM 是月份;DD 是日;DDD 是該年的第幾日;Www 是 ISO 週數;D 是週內星期,星期一為 1、星期日為 7。表內連字號是 Extended(擴展)格式中的分隔符;省略標點的格式稱 Basic(基本)格式。
| 日期種類 | Extended 寫法 | Basic 寫法 | 例子 | 用途與判讀 |
|---|---|---|---|---|
| 年 | YYYY |
YYYY |
2026 |
只記年度。 |
| 年與月 | YYYY-MM |
YYYYMM |
2026-10/202610 |
月報、月份索引;不是完整日期。 |
| 日曆日期 | YYYY-MM-DD |
YYYYMMDD |
2026-10-05/20261005 |
最常見年月日格式。 |
| 序數日期 | YYYY-DDD |
YYYYDDD |
2026-278/2026278 |
年份加該年第幾日;第 001 日是 1 月 1 日。 |
| 週日期(年與週) | YYYY-Www |
YYYYWww |
2026-W41/2026W41 |
ISO 週年加週數,不含星期幾。 |
| 週日期(完整) | YYYY-Www-D |
YYYYWwwD |
2026-W41-1/2026W411 |
ISO 週年、週數與星期;星期一為 1。 |
週日期使用 ISO 週曆:一週從星期一開始,第 1 週是包含該年度第一個星期四的週,因此週年可能與公曆年份不同。比如 2026-10-05 是星期一,寫成 ISO 週日期為 2026-W41-1。若要轉換序數日期或週日期,宜使用支援 ISO 週曆的日期函式,不要只拼接或拆解數字。
時間、秒的小數與 UTC offset
| 表示內容 | Extended 寫法 | Basic 寫法 | 例子 | 說明 |
|---|---|---|---|---|
| 時與分 | hh:mm |
hhmm |
09:30/0930 |
24 小時制;只到分鐘。 |
| 時、分、秒 | hh:mm:ss |
hhmmss |
09:30:05/093005 |
完整到秒。 |
| 秒的小數 | hh:mm:ss.s |
hhmmss,s 或 hhmmss.s |
09:30:05.25 |
小數部分代表秒的分數;精度依資料而定。 |
| UTC 時間 | 時間加 Z |
時間加 Z |
09:30:00Z |
Z 表示 UTC offset 為 00:00。 |
| 帶 UTC offset 的當地時間 | 時間加 ±hh:mm |
時間加 ±hhmm |
09:30:00+08:00 |
+08:00 表示當地時間比 UTC 快 8 小時。 |
| 日期與時間 | 日期、T、時間 |
日期與時間直接連寫 | 2026-10-05T09:30:00+08:00 |
T 是日期與時間的分隔符。 |
ISO 格式家族容許不同精度和表示方式,但每種 API、資料庫或檔案規格可能只接受其中一部分。小數分隔符、是否允許省略秒及是否必須提供 offset,都要依交換協定確認。ISO 8601 是範圍較廣的標準;RFC 3339 只定義適合網際網路時間戳記交換的子集,欄位若指定 RFC 3339,不應假設序數日期或週日期也有效。
時長與時間區間
時長格式以 P 開始;日期部分的單位為年 Y、月 M、日 D,若有時間部分則以 T 分隔,時間單位為時 H、分 M、秒 S。注意:P 後、T 前的 M 是月;T 後的 M 是分鐘。
| 表示內容 | 格式 | 例子 | 判讀 |
|---|---|---|---|
| 年、月、日 | P[n]Y[n]M[n]D |
P1Y2M3D |
1 年 2 個月 3 日。 |
| 時、分、秒 | PT[n]H[n]M[n]S |
PT4H5M6S |
4 小時 5 分 6 秒。 |
| 日期加時間 | P...T... |
P1Y2M3DT4H5M6S |
日期部分和時間部分組合。 |
| 週數 | PnW |
P2W |
2 週。 |
| 時長只有分鐘 | PTnM |
PT90M |
90 分鐘;常可改寫為 PT1H30M。 |
| 區間:開始/結束 | 開始/結束 |
2026-10-05T09:00:00+08:00/2026-10-05T10:30:00+08:00 |
兩個端點都明列。 |
| 區間:開始/時長 | 開始/時長 |
2026-10-05T09:00:00+08:00/PT90M |
由開始點加時長求結束點。 |
| 區間:時長/結束 | 時長/結束 |
PT90M/2026-10-05T10:30:00+08:00 |
由結束點及時長求開始點。 |
P1W 和 P7D 都表示一週的名義時長,但不應將所有時長一律換成固定秒數。尤其年、月長短不固定;把 P1M 換成固定日數會因月份和起算日期而產生不同結果。跨夏令時間變更時,日曆上的一天也未必等於 24 小時。區間端點的包含規則則須由使用它的協定或應用定義。
快速轉換方法表
| 手上格式/需求 | 轉換方法 | 範例結果 | 注意事項 |
|---|---|---|---|
| Basic 日期改成 Extended | 在年份、月份、日期邊界加連字號 | 20261005 → 2026-10-05 |
先確認原字串確實是 YYYYMMDD。 |
| Extended 日期改成 Basic | 移除年月日間的連字號 | 2026-10-05 → 20261005 |
目標系統須接受無分隔符格式。 |
| ISO 週日期改公曆日期 | 使用日期函式依週年、週數、星期解析 | 2026-W41-1 → 2026-10-05 |
不能把週數直接當月份或日期。 |
| 序數日期改公曆日期 | 從該年 1 月 1 日起加上 DDD−1 日 |
2026-278 → 2026-10-05 |
閏年會有第 366 日;需驗證日序是否有效。 |
+08:00 時間換 UTC |
當地時間減 8 小時,再校正日期 | 2026-10-05T09:00:00+08:00 → 2026-10-05T01:00:00Z |
減算可能跨到前一天。 |
-04:00 時間換 UTC |
當地時間加 4 小時,再校正日期 | 2026-10-05T09:00:00-04:00 → 2026-10-05T13:00:00Z |
加算可能跨到隔天。 |
| 分鐘時長拆成時、分 | 分鐘除以 60;商為時、餘數為分 | PT90M → PT1H30M |
可正規化時長,但日曆月、年不能照此固定換算。 |
| 週時長改日數 | 週數乘以 7 | P2W → P14D |
只換算名義日數,跨時區計算仍需明確規則。 |
使用上的界線
- 只表示日期:生日、帳單日及截止日使用日期格式即可;不要無故補上午夜和
Z,否則跨時區顯示可能落在前一天。 - 表示全球唯一時間點:使用附
Z或數字 offset 的日期時間。若還需要保留地區未來規則,另存 IANA 時區名稱;offset 本身不等於時區。 - 表示當地時刻或排程:記下日期、時間及地區時區,並在運算時使用時區資料庫。固定 offset 不會自行反映夏令時間或政策變更。
- 傳送到 API:先看欄位契約。
2026-10-05T09:00:00+08:00是常見 RFC 3339 時間戳記;2026-W41-1雖是 ISO 週日期形式,不是 RFC 3339 的日期文法。
關於 offset、地區時區與夏令時間的保存方式,另見日期時間格式、UTC 時差與時區怎麼判讀。
若遇到 03/04/2026 這類月日順序不明的數字日期,見日/月/年、月/日/年與 ISO 日期的判讀速查。
來源與查核範圍
- ISO:ISO 8601 — Date and time format(ISO 對標準用途的概述,包括日期、時間、UTC、offset、區間及重複區間;並連結 ISO 8601-1:2019 與 ISO 8601-2:2019)
- W3C:XML Schema Part 2 — Datatypes(時長等資料型別的規範參考;不代表所有 ISO 8601 應用都採用相同限制)
- IETF:RFC 3339 — Date and Time on the Internet: Timestamps(網際網路時間戳記格式子集)
查核日期:2026-10-05。本文用於辨識與整理常見 ISO 8601 格式家族;嚴格互通時,請以採用的標準版本、交換協定及軟體文件所允許的文法為準。