date
命令用于打印或者设置系统的时间。
命令格式
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
注意:
以下目录中tmp为目录,请忽略
中英文切换
(base) ➜ tmp export LC_TIME=en_US.UTF-8
(base) ➜ tmp date +%A
Wednesday
(base) ➜ tmp export LC_TIME=zh_CN.UTF-8
(base) ➜ tmp date +%A
星期三
常见参数
- -d,--date==string
打印根据string描述的时间。
(base) ➜ ~ date -d "2020-01-01 11:11:11"
2020年 01月 01日 星期三 11:11:11 CST
(base) ➜ ~ date -d "yesterday"
2020年 04月 21日 星期二 01:39:40 CST
- -f, --file=DATEFILE
类似与--date,但是是从文件读取,每次一行
(base) ➜ tmp echo "now" >> datelist
(base) ➜ tmp echo "yesterday" >> datelist
(base) ➜ tmp date -f datelist
2020年 04月 22日 星期三 01:44:30 CST
2020年 04月 21日 星期二 01:44:30 CST
- -I[FMT], --iso-8601[=FMT]
以ios-8601的格式打印时间,格式类似为2006-08-14T02:34:56-06:00
注意: 以-I时,FMT必须紧挨着
支持参数:- ‘hours’
- ‘minutes’
- ‘date’
- ‘seconds’
- ‘ns’
(base) ➜ tmp date -Idate
2020-04-22
(base) ➜ tmp date -Iseconds
2020-04-22T01:48:18+08:00
- -R, --rfc-email
(base) ➜ tmp date -R
Wed, 22 Apr 2020 01:49:23 +0800
- -u, --utc, --universal
打印utc时间
(base) ➜ ~ date --utc
2020年 04月 21日 星期二 17:34:41 UTC
- Format支持参数
注意:
如果格式化中带了空格时,请用引号包裹起来
只列举了常见的格式,其他一些获取星期,时区,一年中第几天的参数请用man date
查看
可以使用%-S的格式来自定义补齐方式,默认使用0补齐位数,例子如下
以 2020-04-22 23:45:57为例
- 通用格式
(base) ➜ tmp date -d "2020-04-22 23:45:57" "+%Y-%m-%d %H:%M:%S"
2020-04-22 23:45:57
(base) ➜ tmp date -d "2020-04-22 23:45:07" "+%Y-%m-%d %H:%M:%-S"
2020-04-22 23:45:7
单位 | 格式 | 示例 | 描述 |
---|---|---|---|
日期 | %D | 04/22/20 | |
年 | %Y | 2020 | |
%y | 20 | ||
月 | %m | 04 | |
日 | %d | 22 | |
时 | %H | 23 | |
%I | 11 | ||
分 | %M | 45 | |
秒 | %S | 57 | |
%s | 1587570357 | 时间戳 |
网友评论