说明
date命令用于显示当前的系统时间或设置系统时间
格式
date [option] [+format]
参数说明
必要参数:
- %%:显示字符%
- %a:星期几的缩写(Sun..Sat)
- %A:星期几的完整名称(Sunday…Saturday)
- %b:月份的缩写(Jan..Dec)
- %B:月份的完整名称(January..December)
- %c:日期与时间。只输入date指令也会显示同样的结果
- %C:世纪(年份除100后去整) [00-99]
- %d:日期(以01-31来表示)。
- %D:日期(含年月日)。
- %e:一个月的第几天 ( 1..31)
- %F:日期,同%Y-%m-%d
- %g:年份(yy)
- %G:年份(yyyy)
- %h:同%b
- %H:小时(00..23)
- %I:小时(01..12)
- %j:一年的第几天(001..366)
- %k:小时( 0..23)
- %l:小时( 1..12)
- %m:月份(01..12)
- %M:分钟(00..59)
- %n:换行
- %N:纳秒(000000000..999999999)
- %p:AM or PM
- %P:am or pm
- %r:12小时制时间(hhss [AP]M)
- %R:24小时制时间(hh:mm)
- %s:从00:00:00 1970-01-01 UTC开始的秒数
- %S:秒(00..60)
- %t:制表符
- %T:24小时制时间(hhss)
- %u:一周的第几天(1..7); 1 表示星期一
- %U:一年的第几周,周日为每周的第一天(00..53)
- %V:一年的第几周,周一为每周的第一天 (01..53)
- %w:一周的第几天 (0..6); 0 代表周日
- %W:一年的第几周,周一为每周的第一天(00..53)
- %x:日期(mm/dd/yy)
- %X:时间(%H:%M:%S)
- %y:年份(00..99)
- %Y:年份 (1970…)
- %z:RFC-2822 风格数字格式时区(-0500)
- %Z:时区(e.g., EDT), 无法确定时区则为空
选择参数:
- -d<字符串> 显示字符串所指的日期与时间。字符串前后必须加上双引号。
- -s<字符串> 根据字符串来设置日期与时间。字符串前后必须加上双引号。
- -u 显示UTC
示例
1、常用参数进行测试
[root@localhost ~]# date +%y #显示年(短格式)
18
[root@localhost ~]# date +%Y #显示年(长格式)
2018
[root@localhost ~]# date +%m #显示月
05
[root@localhost ~]# date +%d #显示日
24
[root@localhost ~]# date +%H #显示小时
10
[root@localhost ~]# date +%M #显示分钟
11
[root@localhost ~]# date +%S #显示秒
57
[root@localhost ~]# date +%F #显示年-月-日
2018-05-24
[root@localhost ~]# date +%T #显示时-分-秒
10:12:04
[root@localhost ~]# date +"%F %T" #显示年月日时分秒
2018-05-24 10:12:24
[root@localhost ~]# date "+%F %T" #显示年月日时分秒
2018-05-24 10:21:37
2、-d参数使用
[root@localhost ~]# date +%F #当前的年-月-日
2018-05-24
[root@localhost ~]# date +%F -d "-1day" #显示昨天(简介语法)
2018-05-23
[root@localhost ~]# date +%F -d "yesterday" #显示昨天(英文写法)
2018-05-23
[root@localhost ~]# date +%F -d "-2day" #显示前天
2018-05-22
[root@localhost ~]# date +%F -d "+1day" #显示明天
2018-05-25
[root@localhost ~]# date +%F -d "tomorrow"#显示明天
2018-05-25
[root@localhost ~]# date +%F -d "+2day" #显示后天
2018-05-26
[root@localhost ~]# date +%F -d "1month" #显示下月后
2018-06-24
[root@localhost ~]# date +%F -d "1year" #显示1年后
2019-05-24
[root@localhost ~]# date +%F -d "+24hour" #当前时间加24小时
2018-05-25
[root@localhost ~]# date +%F -d "14400min"#当前时间加14400分钟
2018-06-03
[root@localhost ~]# date +%F -d "-14400min"#当前时间减14400分钟
2018-05-14
3、时间格式转换
[root@localhost ~]# date -d "Thu May 24 10:22:11 EDT 2018" "+%F %T"
2018-05-24 10:22:11
4、-s参数设置时间
[root@localhost ~]# date -s 20180526 #设置成20180526,具体时间为00:00:00
Sat May 26 00:00:00 EDT 2018
[root@localhost ~]# date "+%F %T"
2018-05-26 00:00:01
[root@localhost ~]# date -s 09:02:30 #设置时间为 09:02:30,不会对日期做修改
Sat May 26 09:02:30 EDT 2018
[root@localhost ~]# date "+%F %T"
2018-05-26 09:02:31
[root@localhost ~]# date -s "09:03:30 20180526" #设置日期和时间,日期可以采用不同格式
Sat May 26 09:03:30 EDT 2018
[root@localhost ~]# date "+%F %T"
2018-05-26 09:03:33
[root@localhost ~]# date -s "09:03:30 2018/05/26"
Sat May 26 09:03:30 EDT 2018
[root@localhost ~]# date "+%F %T"
2018-05-26 09:03:31
[root@localhost ~]# date -s "09:03:30 2018-05-26"
Sat May 26 09:03:30 EDT 2018
[root@localhost ~]# date "+%F %T"
2018-05-26 09:03:31
5、换行显示日期和时间
[root@localhost ~]# date +%F%n%T
2018-05-26
09:09:53