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