date命令是传统的管理时间的命令,在Unix/Linux系统用于设置系统时间日期的命令(不能用于硬件时钟),可以以指定的格式显示和设置日期和时间。date命令的使用格式有2种,如下所示:
1. date [选项]... [+格式]
2. date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
date命令在没有任何选项和参数时用于显示实时的本地日期时间,如下所示:
[root@jump ~]# date Thu Apr 1 08:26:48 CST 2021 |
上面的date命令输出的本地日期和时间,其中的CST表示中国标准时间(China Standard Time),如果希望显示世界标准时间(UTC)可以使用选项 -u或--utc或--universal,参见如下操作的输出:
[root@jump ~]# date -u Thu Apr 1 00:33:11 UTC 2021 [root@jump ~]# date --utc Thu Apr 1 00:33:21 UTC 2021 [root@jump ~]# date --universal Thu Apr 1 00:33:31 UTC 2021 |
date命令默认的显示格式如下。在字符时区表示中,CST代表中国上海,UTC代表世界标准时间。
星期 月 日 小时:分钟:秒 字符表示的时区 年
date命令的第二种格式用于同时设置本地和世界标准时间日期。其中的各项说明如下:
例如,将本地时间设置为2018年10月16日9点20分零秒,设置后世界标准时间会随之自动修改,相关操作如下:
[root@jump ~]# date 101609202018.00 Tue Oct 16 09:20:00 CST 2018 [root@jump ~]# date Tue Oct 16 09:20:01 CST 2018 [root@jump ~]# date -u Tue Oct 16 01:20:04 UTC 2018 |
date命令也可以根据指定的字符串来设置日期和时间,需要使用“-s”或“--set=字符串”选项,选项后面跟表示日期和时间的字符串作为选项参数。例如,修改当前日期,当前日期修改为2018年1月1日
[root@jump ~]# date -s 2018-1-1 Mon Jan 1 00:00:00 CST 2018 [root@jump ~]# date Mon Jan 1 00:00:02 CST 2018 |
修改当前时间,改为15点30分00秒:
[root@jump ~]# date --set=15:30:00 Mon Jan 1 15:30:00 CST 2018 [root@jump ~]# date Mon Jan 1 15:30:02 CST 2018 |
如果设置日期和时间,注意由于字符串中存在空格,要用双引号""引起来,参见如下操作:
[root@jump ~]# date -s "2021-4-1 11:25:00" Thu Apr 1 11:25:00 CST 2021 [root@jump ~]# date Thu Apr 1 11:25:02 CST 2021 |
如果要指定格式来显示系统时间,可用使用date命令提供的格式字符,参见下表。可以用date +"格式" 这种方式来指定显示时间日期的格式。
%T以 HH:MM:SS 格式的时间 (如, 17:30:24). 和%H:%M:%S 相同
例如,只显示当前的系统时间:
[root@jump ~]# date +%T 09:11:06 |
例如,只显示当前的系统日期:
[root@jump ~]# date +%F 2021-04-01 |
date命令使用TZ环境变量作为时区的设置,该环境变量可由命令行参数覆盖,如果未设置该环境变量,使用/etc/localtime定义的时区。例如,显示下周一上午9点日本东京的时间所对应的本地日期和时间。
[root@jump ~]# date --date='TZ="Asia/Tokyo" 09:00 next Mon' Mon Apr 5 08:00:00 CST 2021 |