TOC

Linux date 命令

示例

# %c 表示当前 locale 的日期和时间
$ date +%c
2017年01月02日 星期一 12时00分00秒

# 获取当前时间戳
$ date +%s
1483329600
# -d 表示使用指定时间,而非默认的当前时间
# 获取指定时间的时间戳 (时间字符串 -> 时间戳)
$ date +%s -d "2017/01/01 00:00:00"
1483200000
# @ 表示时间戳
# 时间戳 -> 时间字符串
$ date -d @1483200000  # 等于: date --date="@1483200000"
2017年 01月 01日 星期日 00:00:00 CST
$ date -d @1483200000 +%c
2017年01月01日 星期日 00时00分00秒

# -u 表示使用 UTC 时间
$ date -u
2017年01月02日 星期一 14时00分00秒 UTC
$ date -d @1483200000 -u
2016年 12月 31日 星期六 16:00:00 UTC

$ date +%Y%m%d%H%M%S
20170102120000

# -R, --rfc-email, RFC 5322 格式
$ date -R
Mon, 02 Jan 2017 12:00:00 +0800

$ date --rfc-3339=date     # 可以缩写成 d
2017-01-02
$ date --rfc-3339=seconds  # 可以缩写成 s
2017-01-02 12:00:00+08:00
$ date --rfc-3339=ns       # 可以缩写成 n
2017-01-02 12:00:00.000000000+08:00

常见日期格式占位符

  • Y 年,4 位数字
  • m 月,2 位数字
  • d 日,2 位数字
  • H 时,2 位数字
  • M 分,2 位数字
  • S 秒,2 位数字
  • F 完整日期, 等于 %Y-%m-%d
  • T 完整时间, 等于 %H:%M:%S
  • R 等于 %H:%M