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