一天一個linux基礎命令之時間日期命令date

時間日期命令:date

1、命令格式:     

date [OPTION]... [+FORMAT]
       date [-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]

2、命令功能

       打印不同格式的時間或日期,以及要根據時間和日期執行操作。日期可以以多種格式去打印,也可以使用命令設置固定的格式。在類UNIX系統中,日期被存儲爲一個整數,其大小爲自世界標準時間(UTC197011000秒起流逝的秒數。

3、常用選項

       -d "String" 顯示字符串所指的時間。字符串前後必須加上雙引號"",也可以用做轉換時間顯示格式

         -s "String" 根據字符串來設置時間,字符串前後必須加上雙引號

       -u 顯示世界時間

日期格式     

%Y:顯示四位的年份(2016)
       %y:顯示兩位的年份(16)
       %m:月份
       %d:天數
       %H:小時  24小時制
       %M:分鐘 
       %S:秒鐘
       %T:時間,冒號分隔的時間(12:12:01)
       %X|%r:時間,冒號分隔的時間(10:58:02 AM)[%T %p]
       %D:日期,以斜線隔開的日期(12/27/16)
       %x:日期,以斜線隔開的日期(12/27/2016)
       %F:日期:以橫槓隔開的日期(2016-12-27)
 
       %p:顯示出AM或PM
       unix元年:1970-01-0100:00:00
       %s:距離unix元年到現在經歷的秒數
       %j:一年的第幾天(001~366) 
       %w:一個星期的第幾天(0代表星期天) 
       %W:一年的第幾個星期
       %Z 顯示時區,日期域(CST) 
       %a 星期的簡稱(Sun~Sat) 
       %A 星期的全稱(Sunday~Saturday) 
       %h,%b 月的簡稱(Jan~Dec) 
       %B 月的全稱(January~December)


4、使用實例

1、顯示當前時間

命令:date

[root@server~]# date
TueDec 27 11:06:57 CST 2016

2、設置指定時間

命令:date [MMDDhhmm[[CC]YY][.ss]]

[root@server~]# date 122711302016
TueDec 27 11:30:00 CST 2016
[root@server~]# date
TueDec 27 11:30:05 CST 2016
[root@server~]#

提示:MM:月份

       DD:天

       hh:小時

       mm:分鐘

       [CC[YY]]:兩位的年,或者四位的年

       .ss:秒鐘

如果不指,則按照當前時間設置

3、以指定的格式顯示時間

命令:date +FORMAT

[root@server~]# date +%T
11:10:59
[root@server~]# date +%H-%M-%S
11-11-23
[root@server~]# date +%F
2016-12-27
[root@server~]# date "+%F %H-%M-%S"
2016-12-2711-11-48
[root@server~]# date "+%F %T"
2016-12-2711:12:00
[root@server~]#

提示:顯示指定格式時間時:如果中間有空格,需在顯示時間的格式上加入雙引號

4、創建以當前時間爲名稱的目錄

命令:mkdir `COMMAND`

[root@server~]# mkdir `date +%F-%H-%M-%S`
[root@server~]# ls 
2016-12-27-11-15-05  install.log       anaconda-ks.cfg        install.log.syslog  
[root@server ~]#

提示:此時我們用到了命令引用``

       命令引用:引用的是命令的執行結果

       date +%F-%H-%M-%S執行結果爲2016-12-27-11-15-05,創建時,就直接創建以當前時間爲名稱的目錄

5、輸出昨天現在的時間

命令:date -d "1 day ago"

[root@server~]# date -d "1 day ago" 
MonDec 26 11:22:50 CST 2016
[root@server~]#

提示:也可以使用 date -d "+ 1 day"

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

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

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

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

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

date-d "+1 year" +%Y%m%d //顯示下一年的日期

常用的日期英文格式都可以來進行使用

6、顯示30秒後的時間

命令:date -d "30 second" +%T

[root@server~]# date +%T
11:24:50
[root@server~]# date -d "30 second" +%T
11:25:21

7、將指定的時間轉換顯示的格式

命令:date -d "TIME" +FORMAT

[root@server~]# date -d "2012-12-12"" +%Y/%m/%d %H:%M.%S"
2012/12/1200:00.00
[root@server~]# date
TueDec 27 11:26:14 CST 2016
[root@server~]#

提示:轉換時間格式時,不影響當前時間

8、轉換apache日誌時間格式

命令:date -d "TIME" +FORMAT

[root@server~]# date -d "Dec 5, 2016 12:12:31 AM" +"%Y-%m-%d %H:%M.%S"
2016-12-05 00:12.31
[root@server~]#
[root@server~]# date -d "Dec 5, 2016 12:12:31" +"%Y-%m-%d %H:%M.%S"
2016-12-05 12:12.31
[root@server~]#

9、設置時間

命令:date -s "String"

[root@server~]# date -s "20161227 12:23:00" //設置全時間
Tue Dec27 12:23:00 CST 2016
[root@server~]# date -s "2016/12/27 12:23:00" //設置全時間
Tue Dec27 12:23:00 CST 2016
[root@server~]# date -s "2016-12-27 12:23:00" //設置全時間
Tue Dec27 12:23:00 CST 2016
[root@server~]# date -s "20161227"//設置成20161227,不過會把具體時間設置成00:00:00
Tue Dec27 00:00:00 CST 2016
[root@server~]# date -s "12:25:00" //設置具體時間,不會對日期做出修改
Tue Dec27 12:25:00 CST 2016
[root@server~]#

硬件時鐘命令:hwclock [options]

常用選項

                     -s:以硬件時鐘爲準,將系統時間修改成硬件時間--hctosys

                     -w:以軟件時鐘爲準,將硬件時間修改成系統時間--systohc

[root@server~]# hwclock
Tue 27Dec 2016 12:02:21 PM CST  -1.016560seconds
[root@server~]# date
Tue Dec27 12:04:17 CST 2016
[root@server~]# hwclock -s
[root@server~]# date
Tue Dec27 12:02:32 CST 2016

顯示日曆 cal

cal[-smjy13] [[[day] month] year] 月曆

常用選項:

       -3:顯示前三月份

       -m:顯示時以mon(星期一)打頭

       -j:顯示當前月份在本年的第幾天

       -y:顯示整年


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章