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