date
行程與系統
用法
date [+FORMAT]按你要的格式印出目前時間,也能做日期加減;`+` 後面的格式各平台一致,但挪動日期在 GNU 是 `-d`,在 macOS/BSD 是 `-v` 或 `-j -f`,完全不同。
常用選項
| 選項 | 含義 |
|---|---|
| +%F | Shorthand for %Y-%m-%d. |
| +%s | Unix epoch seconds right now. |
| -u | Work in UTC instead of local time. |
| -d "yesterday" | Parse or shift a date. GNU only. |
| -d @1700000000 | Turn epoch seconds into a readable date. GNU only. |
| -v-2d | Shift by two days on macOS/BSD, which has no -d. |
| -r 1700000000 | Read epoch seconds on macOS/BSD. |
| -j -f "%Y-%m-%d" | Parse a string without setting the clock, on macOS/BSD. |
範例
date -u +"%Y-%m-%dT%H:%M:%SZ"An ISO 8601 timestamp in UTC, the same on both platforms.
date -d "2 days ago" +%FThe date two days back on GNU; on macOS it is date -v-2d +%F.
date +%sEpoch seconds, for a filename or a quick difference.
看什麼在跑、什麼在吃機器。先弄清是什麼,再決定殺不殺。
怎麼看
- 方括號 [ ] 表示這部分可以不寫。
- 省略號 … 表示可以寫多個。
- 選項區分大小寫——有些命令裡 -r 和 -R 不是一回事。
常見問題
Q. date 是做什麼的?
按你要的格式印出目前時間,也能做日期加減;`+` 後面的格式各平台一致,但挪動日期在 GNU 是 `-d`,在 macOS/BSD 是 `-v` 或 `-j -f`,完全不同。
Q. 怎麼寫?
date [+FORMAT] —— 方括號表示可以省略的部分。
Q. 值得記的選項有幾個?
這裡列了 8 個,完整列表在 man date。這條命令屬於行程與系統。
相關命令
man 手冊: man date