示例
# %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