Linux基礎命令—date

一生有你llx發表於2018-10-21

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)

%W

 

%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   //這裡可以看到支援的日期格式。如果沒有設定時間,那麼預設就是00

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

下午 120248

[root@localhost ~]# date +%p%H:%M:%S     //這裡可以使用多個格式組合,達到上面的效果

下午12:03:24

6)顯示當前日期 

[root@localhost ~]# date +%x

20180905

[root@localhost ~]# date +%F

2018-09-05

[root@localhost ~]# date +%Y-%m-%d    //多格式拼接

2018-09-05

 

 

 

Copyright@david  zhytwj2018@163.com