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