首页·终端命令

date

进程与系统

用法

date [+FORMAT]

按你要的格式打印当前时间,也能做日期加减;`+` 后面的格式各平台一致,但挪动日期在 GNU 是 `-d`,在 macOS/BSD 是 `-v` 或 `-j -f`,完全不同。

常用选项

选项含义
+%FShorthand for %Y-%m-%d.
+%sUnix epoch seconds right now.
-uWork in UTC instead of local time.
-d "yesterday"Parse or shift a date. GNU only.
-d @1700000000Turn epoch seconds into a readable date. GNU only.
-v-2dShift by two days on macOS/BSD, which has no -d.
-r 1700000000Read 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" +%F

The date two days back on GNU; on macOS it is date -v-2d +%F.

date +%s

Epoch 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