天天看點

每天一個linux指令(50)--date指令

  在Linux環境中,不管是程式設計還是其他維護,時間是必不可少的,也經常會用到時間的運算,熟練運用date 指令來表示自己想要表示的時間,肯定可以給自己的工作帶來諸多友善。

  1.指令格式:

    date [參數] [格式]

  2.指令功能:

    date可以用來顯示或設定系統的日期與時間

  3.指令參數:

    必要參數:

    %H  小時(以00-23來表示)

    %I  小時(以01-12來表示)

    %K  小時(以0-23來表示)

    %l  小時(以0-12來表示)

    %M  分鐘(以00-59來表示)

    %P  AM或PM

    %r  時間(含時分秒,小時以12小時AM/PM來表示)

    %s  總秒數,起算時間為1970-01-01  00:00:00 UTC

    %S  秒(以本地的慣用法來表示)

    %T  時間(含時分秒,小時以24小時制來表示)

    %X  時間(以本地的慣用法來表示)

    %Z  時區

    %a  星期的縮寫

    %A  星期的完整名稱

    %b  月份英文名的縮寫

    %B  月份的完整英文名稱

    %c  日期與時間。隻輸入date  指令也會顯示同樣的結果

    %d  日期(以01-31來表示)

    %D  日期(含年月日)

    %j  該年中的第幾天

    %m  月份(以01-12來表示)

    %U  該年中的周數

    %w  該周的天數,0代表周日,1代表周一,以此類推

    %x  日期(以本地的慣用法來表示)

    %y  年份(以00-99來表示)

    %Y  年份(以四位數來表示)

    %n  在顯示時,插入新的一行

    %t  在顯示時,插入tab 

    MM  月份(必要)

    DD  日期(必要)

    hh  小時(必要)

    mm  分鐘(必要)

    ss     秒(選擇性)

    選擇參數:

    -d <字元串>  顯示字元串所指的的日期與時間,字元串前後必須加上雙引号

    -s   <字元串>  根據字元串來設定日期與時間。字元串前後必須加上雙引号

    -u  顯示GMT

    --help  

    --version

  4.使用說明:

    1.在顯示方面,使用者可以設定欲顯示的格式,格式設定為一個加号後接數個标記,其中可用的标記清單如下:%:列印出 %:

    %n :   下一行

    %t :  跳格

    %H :  小時(00--23)

    %I  :  小時(01--12)

    %k  :  小時(0--23)

    %l  :  小時(0--12)

    %M  :  分鐘(00--59)

    %p  :  顯示本地  AM  或PM  

    %r  :  直接顯示時間(12 小時制,格式為 hh:mm:ss  [AP]M)

    %s  :  從  1970 年1月1日00:00:00  UTC 到目前為止的秒數

    %S  :  秒(00--61)  》》》》》》》》》》》》》為什麼是61秒?

    %T  :  直接顯示時間(24 小時制)

    %X  :  相當于  %H:%M:%S

    %Z  :  顯示時區  %a :  星期幾(縮寫) 

    %A  :  星期幾(完整拼寫)

    %b  :  月份(縮寫)

    %B  :  月份(完整拼寫)

    %c  :  直接顯示日期與時間

    %d  :  日(01--31)

    %D  :  直接顯示日期(mm/dd/yy)

    %h  :  同   %b

    %m  :  月份(01--12)    

    %j  :  一年中的第幾天(001--366)

    %U  :  一年中的第幾周(00--53)(以 Sunday 為一周的第一天的情形)

    %W  :  一年中的第幾周(00--53)(以Monday 為一周的第一天的情形)

    %w  :  一周中的 第幾天(0-6)

    %x  :  直接顯示日期(mm/dd/yy)

    %y  :  年份的最後兩位數字(00-99)

    %Y  :  完整年份(0000-9999)

    2.在設定時間方面:

    date -s  //設定目前時間,隻有root權限才能設定,其他隻能檢視

    date -s  20120707  //設定成20120707,這樣會把具體時間設定成空00:00:00

    date -s  01:01:01  //設定具體時間,不會對日期做更改

    date   -s  “01:01:01  20130707”  //這樣可以設定全部時間

    date -s  “01:01:01  2013-07-07”  //這樣可以設定全部時間

    3.加減

    date  +%Y%m%d  //顯示前天年月日

    date  +%Y%m%d  --date="+-1 day"  //顯示前後一天的日期

    date  +%Y%m%d  --date="+-1 month"    //顯示上下一個月的日期

    date  +%Y%m%d  --date="+- year"   //顯示前後一年的日期

    5.使用執行個體:

    執行個體1:顯示目前時間

    指令:

      date

      date  ‘+%c’

      date  '+%D'

      date   '+%x'

      date   '+%T'

      date '+%X'

     執行個體2:顯示日期和設定時間

    指令:  date  --date  08:42:00

    執行個體3:  date   -d  參數使用

      date   指令的另一個擴充是 -d 選項,該選項非常有用。使用這個功能強大的選項,通過将日期作為引号括起來的參數提供,您可以快速的查明一個特定的日期。-d 選項還可以告訴您,相對于目前日期若幹天的究竟是哪一天,從現在開始的若幹天或若幹星期以後,或者以前,通過将這個相對偏移使用引号括起來,作為 -d  選項的參數,就可以完成這項任務。

    具體說明如下:

    date  -d   "nov  22",  今年的 11 月 22 日是星期三

    date  -d  '2  weeks' 2周後的日期

    date   -d     'next  monday ' 下周一的日期

    date   -d  next/last-day  +%Y%m%d

    date -d  next/last-month  +%Y%m%d

    使用 ago  指令,您可以得到過去的日期

    date   -d  '30  days ago' (30天前的日期)

    使用負數以得到相反的日期:

    date   -d 'dec  14  -2  weeks ' (相對:dec 14 這個日期的兩周前的日期)

    date   -d '100  days ' (100天以前的日期)

    date   -d '50  days' (50天後的日期)

  執行個體4:顯示月份的日數

  指令:date  ‘+%B  %d’

  執行個體5:顯示時間後跳行,再顯示目前日期

  指令:  date ‘+%T %n %D’

繼續閱讀