您好,登錄后才能下訂單哦!
本篇文章為大家展示了Linux 如何使用date命令,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1.命令簡介
date命令用于按照指定格式顯示當前時間或者指定的時間,也可以設置系統時間。很多Shell腳本里面需要打印不同格式的時間或日期,以及要根據時間和日期執行操作,此時可以使用date命令來完成。在類Unix系統中,日期被存儲為一個整數,其大小為協調世界時(UTC)1970年1月1日0時0分0秒起流逝的秒數,即Unix時間戳。
2.命令格式
date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
其中,FORMAT為格式控制字符串,可取如下值:
%% 字符% %a 星期的簡稱(Sun~Sat) %A 星期的全稱(Sunday~Saturday) %b 月的簡稱(Jan~Dec) %B 月的全稱(January~December) %c 日期和時間(Thu 06 Dec 2018 09:43:53 AM CST)。只輸入date指令也會顯示同樣的結果。 %C 世紀。和%Y比較像,但不顯示最后兩個數字,如20 %d 一個月的第幾天(01~31) %D 日期,等同于%m/%d/%y,如12/06/18 %e 一個月的第幾天(1~31),單數字以空格填充,等同于%_d %F 日期,等同于%Y-%m-%d,如2018-12-06 %g 年的最后兩個數字(yy),比如2018則輸出18,等同于%y %G 年份(yyyy) %h 月的簡稱(Jan~Dec),等同于%b %H 小時,24小時制(00~23) %I 小時,12小時制(01~12) %j 一年的第幾天(001~366) %k 小時,24小時制(0~23)。單數字填充空格,等同于%_H %l 小時,12小時制(1~12)。單數字填充空格,等同于%_I %m 月份(01~12) %M 分鐘(00~59) %n 換行符newline %N 納秒nanoseconds(000000000..999999999) %p 顯示出AM或PM %P 顯示出am或pm %r 顯示時間,12小時制(hh:mm:ss %p) %R 顯示小時與分鐘,24小時制,等同于%H:%M %s 從1970年1月1日00:00:00到目前經歷的秒數 %S 顯示秒(00~59) %t Tab符 %T 顯示時間,24小時制(hh:mm:ss),等同于%H:%M:%S %u 一周的第幾天(1..7)。1表示星期一 %U 一年的第幾周,周日為每周的第一天(00..53) %V 一年的第幾周,周一為每周的第一天(01..53) %w 一個星期的第幾天(0~6),0代表星期天 %W 一年的第幾周,周一為每周的第一天(00..53) %x 日期(mm/dd/yyyy),如12/06/2018 %X 時間,等同于%H:%M:%S %y 年的最后兩個數字(2018則是18) %Y 年(yyyy) %z 以+hhmm格式顯示時區(如+0800) %:z 以+hh:mm格式顯示時區(如+08:00) %::z 以+hh:mm:ss格式顯示時區(如+08:00:00) %Z 縮寫顯示時區名稱,如CST(China Standard Time) %h,%b 月的簡稱(Jan~Dec) 填充字符說明:默認地,date命令以0填充數字域,以下填充字符的控制符可以跟在%后使用: - (hyphen,連字符):不進行填充 _ (underscore,下劃線):以空格填充 0(zero)以0填充 ^ 盡可能地使用大寫輸出 # 盡可能地按照相反的大小寫進行輸出
3.命令選項
-d, --date=STRING:顯示由STRING指定的時間,而不是當前時間戳; -f, --file=DATEFILE:顯示DATEFILE文件中的每行時間; -I[TIMESPEC], --iso-8601[=TIMESPEC]:以ISO 8601規范格式按照指定精度[TIMESPEC]顯示時間。TIMESPEC默認取值為"date",亦可取值'hours', 'minutes', 'seconds', 或 'ns'; -r, --reference=FILE:顯示文件的最后修改時間 -R, --rfc-2822:以RFC-2822規定格式顯示時間,例如:Wed, 05 Dec 2018 22:10:34 +0800 --rfc-3339=TIMESPEC:以RFC 3339規定格式顯示時間,可以由TIMESPEC指明精度,TIMESPEC可取值'date', 'seconds', or 'ns'。例如:2018-12-05 22:09:59.230994842+08:00 -s, --set=STRING:設置系統時間為STRING指定的時間 -u, --utc, --universal:顯示或設定為協調世界時(UTC,Coordinated Universal Time)時間格式 --help:顯示date命令的幫助信息 --version:顯示date命令的版本信息
4.常用示例
(1)獲取Unix時間戳。
date +%s 1544067345
(2)將Unix時間戳轉換為可讀時間。
date -d @1483525407 Wed Jan 4 18:23:27 CST 2017 date -d @1483525407 +"%F %T" 2017-01-04 18:23:27
注意:-d后需跟合法格式的日期,所以時間戳需要添加@符以示區別。
(3)格式化輸出當前時間。
date +"%Y-%m-%d %H:%M:%S" 2018-12-06 10:57:33 #或 date +"%F %T"
(4)時間加減操作。
date +"%Y-%m-%d %H:%M:%S" //顯示當前時間 date -d "+1 day" +"%Y-%m-%d %H:%M:%S" //顯示前一天的時間 date -d "-1 day" +"%Y-%m-%d %H:%M:%S" //顯示后一天的時間 date -d "-1 month" +"%Y-%m-%d %H:%M:%S" //顯示上一月的時間 date -d "+1 month" +"%Y-%m-%d %H:%M:%S" //顯示下一月的時間 date -d "-1 year" +"%Y-%m-%d %H:%M:%S" //顯示前一年的時間 date -d "+1 year" +"%Y-%m-%d %H:%M:%S" //顯示下一年的時間
(5)普通格式轉換。
date -d "2009-12-12" +"%Y/%m/%d %H:%M:%S" 2009/12/12 00:00:00
(6)設置系統時間。
date -s "2016-11-11 00:00:00" Fri Nov 11 00:00:00 CST 2016 date Fri Nov 11 00:00:05 CST 2016
上述內容就是Linux 如何使用date命令,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。