date — 顯示或設定系統時間

顯示系統時間,或以指定格式輸出日期時間字串,常用於腳本。

語法

date [選項] [+格式]

常用選項

選項 說明 範例
+格式 以指定格式輸出(格式符號見下方範例) date "+%Y-%m-%d %H:%M:%S"
-d 字串 解析並顯示指定的日期字串 date -d "tomorrow"
-u 顯示 UTC 時間 date -u
-I[格式] 輸出 ISO 8601 格式(date/hours/minutes/seconds) date -Is
--rfc-3339=秒 輸出 RFC 3339 格式 date --rfc-3339=seconds

使用範例

範例 1:顯示當前日期時間

不加格式時,顯示預設的完整日期時間。

$ date
Tue May 20 10:30:00 CST 2026
範例 2:以 ISO 8601 格式輸出(腳本常用)

輸出 YYYY-MM-DD HH:MM:SS 格式,常用於日誌時間戳記。

$ date "+%Y-%m-%d %H:%M:%S"
2026-05-20 10:30:00
範例 3:以日期建立帶時間的備份檔名

在腳本中用 date 產生唯一的備份檔名,避免覆蓋。

$ BACKUP="backup-$(date +%Y%m%d-%H%M%S).tar.gz"\ntar -czf "$BACKUP" /data/
(建立 backup-20260520-103000.tar.gz)
範例 4:常用格式符號

常用的 date 格式符號: %Y = 四位年份(2026) %m = 月份(01-12) %d = 日期(01-31) %H = 小時 24h(00-23) %M = 分鐘(00-59) %S = 秒(00-59) %s = Unix 時間戳記(秒) %A = 星期幾(Tuesday) %Z = 時區(CST)

$ date "+今天是 %Y 年 %m 月 %d 日,%H:%M"
今天是 2026 年 05 月 20 日,10:30
範例 5:計算相對時間

用 -d 計算昨天、下週、30天後等相對時間。

$ date -d 'yesterday' '+%Y-%m-%d'
date -d '7 days ago' '+%Y-%m-%d'
date -d '30 days' '+%Y-%m-%d'
2026-05-19
2026-05-13
2026-06-19

延伸閱讀