Linux命令(3):date命令

  • 2020 年 1 月 13 日
  • 筆記

date命令


功能说明

显示或修改系统时间与日期,只有超级用户才能使用date命令设置时间。一般用户只能查看。用法如下:

date [OPTION]… [+FORMAT]:显示

date命令的选项及说明

  • -s–set:设置系统时间
  • -d–date:显示描述的日期

格式参数

格式

含义

%H

显示小时(表示范围00-23)

%I

显示小时(表示范围00-12)

%k

显示小时(表示范围0-23)

%l

显示小时(表示范围0-12)

%M

显示分钟(以00-59显示)

%S

显示秒种(以00-59显示)

%p

显示是AM或PM

%r

显示时间,格式为hh:mm:ss AM或PM,其中hh代表小时,mm代表分钟,ss代表秒

%T

显示时间,格式为hh:mm:ss

%x

显示年份和日期,格式为mm/dd/yyyy,yyyy表示年份

%X

显示时间格式,相当于%H:%M:%S的组合

%a

显示星期几

%b或%B

显示月份,%b是月的简称,%B是显示月的全称

%m

显示月份(表示格式01-12)

%Z

显示时区

%d

显示一个月的第几天

%D

显示年份和月份,格式为mm/dd/yy,yy表示年份后两个数字

%Y或%y

显示年份,%Y显示4位年份,%y显示2位年份

%c

显示日期和时间格式,相当于“%a%d%b%Y%r%Z”的组合

date [MMDDhhmm[[CC]YY][.ss]]:设置

    MM:月份

    DD:几号

    hh:小时

    mm:分钟

    YY:两位年份

    CCYY:四位年份

    .ss:秒钟

以下是四种格式:

格式:date mmddHHMM               就是“月日时分”

格式:date mmddHHMMYYYY

格式:date mmddHHMM.SS

格式:date mmddHHMMYYYY.SS

设置当前日期时间,只有root用户才能执行,执行完之后还要执行 clock -w 来同步到硬件时钟。

mm为月份,dd为日期,HH为小时数,MM为分钟数,YYYY为年份,SS为秒数。

示例

手动更改时间

[root@c7 ~]# date +"%Y-%m-%d %H:%M:%S"       #使用格式参数,显示时间2016-11-07 09:29:21[root@c7 ~]# date -s "20161108 13:50"        #也可以日期和时间分开设置如date -s 13:502016年 11月 08日 星期二 13:50:00 CST[root@c7 ~]# date2016年 11月 08日 星期二 13:50:22 CST[root@c7 ~]# date -s "20161108 14:04:01"     #精确到秒的设置方法2016年 11月 08日 星期二 14:04:01 CST[root@c7 ~]# hwclock -w注:修改完时间后,使用clock -w,把时间同步到硬件,详细说明在后面有介绍

    打印3天前的日期

[root@c7 ~]# date +%F2016-11-08[root@c7 ~]# date +%F -d '3 day ago'2016-11-05

hwclock,clock:硬件时钟


功能说明

    显示或设定硬件时钟

-s, –hctosys:以硬件为准,把系统调整为与硬件时间相同

-w, –systohc:以系统为准,把硬件时间调整为与系统时间相同

Linux分为硬件时钟和系统时钟,硬件时钟就是主板上的钮扣电池来供电。

Linux:系统启动时从硬件读取日期和时间信息:读取完信息以后,就不再与硬件相关联

date用来查看系统时钟

clock用来查看硬件时钟

示例

clock和hwclock是同一个东西,可以看出,clock是hwclock的硬链接

[root@c7 shell]# which clock/usr/sbin/clock[root@c7 shell]# file /usr/sbin/clock/usr/sbin/clock: symbolic link to `hwclock'

通过man hwclock可以获得参数的含义

-s, –hctosys             #以硬件为准,把系统时间调整为和硬件一样              Set the System Time from the Hardware Clock.-w, –systohc             #以系统为准,把系统时间调整为和系统一样              Set the Hardware Clock to the current System Time.

以系统时间为准,更改硬件时间,如下图

[root@www ~]# clock       #查看当前硬件时间Sat 02 Apr 2016 08:24:02 PM CST  -0.282350 seconds[root@www ~]# date        #查看当前系统时间Sat Apr  2 20:27:22 CST 2016[root@www ~]# clock -w    #以系统为准,把系统时间调整为和系统一样[root@www ~]# clock       #验证当前硬件时间Sat 02 Apr 2016 08:28:11 PM CST  -0.656874 seconds[root@www ~]# date        #验证当前系统时间Sat Apr  2 20:28:14 CST 2016