date
以给定的格式显示当前的日期,或者设置系统时间。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
date [选项]。
date [+格式]。
date -u [参数]
参数格式[MMDDhhmm[[CC]YY][.ss]],分别对应(月、日、时、分、年前两位、年后两位、秒)
2、选项和格式列表
--help
帮助信息
--version
显示命令版本信息
-f | --file=DATEFILE
和“--date”一样,文件的每一行都设置一次
-d | --date=STRING
显示字符串代表的时间,注意不是当前时间
-r | --reference=FILE
显示文件的最后修改时间
-R | --frc-2822
以rfc-2822的方式输出日期和时间,
--rfc-3339=TIMESPEC
以rfc-3339的方式输出日期和时间,精度可以是date、seconds、ns,日期和时间用一个空格隔开
-s | --set=STRING
用指定字符串设置时间
-u | --utc, --universal
输出或者设置通用时间
格式
%a
当前locale 的星期名缩写(例如: 日,代表星期日)
%A
当前locale 的星期名全称 (如:星期日
%b
当前locale 的月名缩写 (如:一,代表一月)
%B
当前locale 的月名全称 (如:一月)
%c
当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
%C
世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
%d
按月计的日期(例如:01)
%D
按月计的日期;等于%m/%d/%y
%e
按月计的日期,添加空格,等于%_d
%F
完整日期格式,等价于 %Y-%m-%d
%g
ISO周数年的最后两位数
%G
ISO周数年份
%H
小时(00-23)
%I
小时(00-12)
%j
按年计的日期(001-366)
%k
小时,00~23
%l
小时,1~12
%m
月份(01-12)
%M
分(00-59)
%n
新的一行
%N
十亿分之一秒
%p
当前locale 下的”上午”或者”下午”,未知时输出为空
%P
和“%p”一样,但是输出小写字母
%r
当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
%R
24 小时时间的时和分,等价于 %H:%M
%s
从1970-01-01 00:00:00开始的秒数
%S
秒(00-60)
%t
tab字符
%T
时间,等于%H:%M:%S
%u
一个星期的一天,1是星期一。(1~7)
%U
一年中的第几周,以周日为每星期第一天(00-53)
%V
ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
%w
一个星期的一天,0是周日. (0~6)
%x
当前locale 下的日期描述 (如:12/31/99)
%X
当前locale 下的时间描述 (如:23:13:48)
%y
年份最后两位数位 (00-99)
%Y
年
%z
+hhmm格式的数字时区,例如“-0400
%:z
+hh:mm格式的数字时区,例如“-04:00
%::z
+hh:mm:ss格式的数字时区,例如“-04:00:00 “
%:::z
数字时区,使用“:”达到必要的精度,例如“-04, +05:30“
%Z
时区的缩写,例如EDT
3、说明
默认情况下,使用数字0来填补数字时间中的空缺。当然也可以指定其他方式:“%-“,不填补;”%_“,使用空格填补;”%0“,使用0;”%^“使用大写字母;”%#“,使用相反的字母
“--date=String“是一种自由格式,是一种方便读取的日期字符串,例如“Sun,2月29日16:21:42-0800”或“2004-02-29 16:21:42:42”,甚至是“下星期四”。日期字符串可能包含指示日历日期、时间、时区、周中日、相对时间、相对日期和数字的项。空字符串表示一天的开始。日期字符串可以包含指示日历日期、时间、时区、星期数、相对时间、相对日期和数字的项。日期字符串格式比这里容易记录的要复杂,但是在info文档中有完整的描述。
4、实例
1)不适用任何参数,直接显示日期和时间
[root@localhost ~]# date
2018年 09月 05日 星期三 11:48:58 CST //注意,这里显示的是CST时间
2)显示UTC时间
[root@localhost ~]# date -u
2018年 09月 05日 星期三 03:51:53 UTC
3)设置CST日期时间
[root@localhost ~]# date -s 2018-9-4 //这里可以看到支持的日期格式。如果没有设置时间,那么默认就是0点0分
2018年 09月 04日 星期二 00:00:00 CST
[root@localhost ~]# date -s 20180905
2018年 09月 05日 星期三 00:00:00 CST
[root@localhost ~]# date -s 2018/9/6
2018年 09月 06日 星期四 00:00:00 CST
[root@localhost ~]# date -s 11:56 //修改时间
2018年 09月 05日 星期三 11:56:00 CST
[root@localhost ~]# date -s 11:54:40
2018年 09月 05日 星期三 11:54:40 CST
4)显示当前是一年中的第几周,第几天
[root@localhost ~]# date +第%U周第%j天
第35周第248天
5)显示12小时制度下的时间
[root@localhost ~]# date +%r
下午 12时02分48秒
[root@localhost ~]# date +%p%H:%M:%S //这里可以使用多个格式组合,达到上面的效果
下午12:03:24
6)显示当前日期
[root@localhost ~]# date +%x
2018年09月05日
[root@localhost ~]# date +%F
2018-09-05
[root@localhost ~]# date +%Y-%m-%d //多格式拼接
2018-09-05
以给定的格式显示当前的日期,或者设置系统时间。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
date [选项]。
date [+格式]。
date -u [参数]
参数格式[MMDDhhmm[[CC]YY][.ss]],分别对应(月、日、时、分、年前两位、年后两位、秒)
2、选项和格式列表
--help
帮助信息
--version
显示命令版本信息
-f | --file=DATEFILE
和“--date”一样,文件的每一行都设置一次
-d | --date=STRING
显示字符串代表的时间,注意不是当前时间
-r | --reference=FILE
显示文件的最后修改时间
-R | --frc-2822
以rfc-2822的方式输出日期和时间,
--rfc-3339=TIMESPEC
以rfc-3339的方式输出日期和时间,精度可以是date、seconds、ns,日期和时间用一个空格隔开
-s | --set=STRING
用指定字符串设置时间
-u | --utc, --universal
输出或者设置通用时间
格式
%a
当前locale 的星期名缩写(例如: 日,代表星期日)
%A
当前locale 的星期名全称 (如:星期日
%b
当前locale 的月名缩写 (如:一,代表一月)
%B
当前locale 的月名全称 (如:一月)
%c
当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
%C
世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
%d
按月计的日期(例如:01)
%D
按月计的日期;等于%m/%d/%y
%e
按月计的日期,添加空格,等于%_d
%F
完整日期格式,等价于 %Y-%m-%d
%g
ISO周数年的最后两位数
%G
ISO周数年份
%H
小时(00-23)
%I
小时(00-12)
%j
按年计的日期(001-366)
%k
小时,00~23
%l
小时,1~12
%m
月份(01-12)
%M
分(00-59)
%n
新的一行
%N
十亿分之一秒
%p
当前locale 下的”上午”或者”下午”,未知时输出为空
%P
和“%p”一样,但是输出小写字母
%r
当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
%R
24 小时时间的时和分,等价于 %H:%M
%s
从1970-01-01 00:00:00开始的秒数
%S
秒(00-60)
%t
tab字符
%T
时间,等于%H:%M:%S
%u
一个星期的一天,1是星期一。(1~7)
%U
一年中的第几周,以周日为每星期第一天(00-53)
%V
ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
%w
一个星期的一天,0是周日. (0~6)
%x
当前locale 下的日期描述 (如:12/31/99)
%X
当前locale 下的时间描述 (如:23:13:48)
%y
年份最后两位数位 (00-99)
%Y
年
%z
+hhmm格式的数字时区,例如“-0400
%:z
+hh:mm格式的数字时区,例如“-04:00
%::z
+hh:mm:ss格式的数字时区,例如“-04:00:00 “
%:::z
数字时区,使用“:”达到必要的精度,例如“-04, +05:30“
%Z
时区的缩写,例如EDT
3、说明
默认情况下,使用数字0来填补数字时间中的空缺。当然也可以指定其他方式:“%-“,不填补;”%_“,使用空格填补;”%0“,使用0;”%^“使用大写字母;”%#“,使用相反的字母
“--date=String“是一种自由格式,是一种方便读取的日期字符串,例如“Sun,2月29日16:21:42-0800”或“2004-02-29 16:21:42:42”,甚至是“下星期四”。日期字符串可能包含指示日历日期、时间、时区、周中日、相对时间、相对日期和数字的项。空字符串表示一天的开始。日期字符串可以包含指示日历日期、时间、时区、星期数、相对时间、相对日期和数字的项。日期字符串格式比这里容易记录的要复杂,但是在info文档中有完整的描述。
4、实例
1)不适用任何参数,直接显示日期和时间
[root@localhost ~]# date
2018年 09月 05日 星期三 11:48:58 CST //注意,这里显示的是CST时间
2)显示UTC时间
[root@localhost ~]# date -u
2018年 09月 05日 星期三 03:51:53 UTC
3)设置CST日期时间
[root@localhost ~]# date -s 2018-9-4 //这里可以看到支持的日期格式。如果没有设置时间,那么默认就是0点0分
2018年 09月 04日 星期二 00:00:00 CST
[root@localhost ~]# date -s 20180905
2018年 09月 05日 星期三 00:00:00 CST
[root@localhost ~]# date -s 2018/9/6
2018年 09月 06日 星期四 00:00:00 CST
[root@localhost ~]# date -s 11:56 //修改时间
2018年 09月 05日 星期三 11:56:00 CST
[root@localhost ~]# date -s 11:54:40
2018年 09月 05日 星期三 11:54:40 CST
4)显示当前是一年中的第几周,第几天
[root@localhost ~]# date +第%U周第%j天
第35周第248天
5)显示12小时制度下的时间
[root@localhost ~]# date +%r
下午 12时02分48秒
[root@localhost ~]# date +%p%H:%M:%S //这里可以使用多个格式组合,达到上面的效果
下午12:03:24
6)显示当前日期
[root@localhost ~]# date +%x
2018年09月05日
[root@localhost ~]# date +%F
2018-09-05
[root@localhost ~]# date +%Y-%m-%d //多格式拼接
2018-09-05