天天看點

Linux基礎指令---date

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    //多格式拼接

繼續閱讀