這篇文章主要介紹了如何使用Linux中的date命令,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
顯示或設置系統時間與日期
date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
轉換時間到選定的格式,默認為當前。
設置系統時間。
format:輸出的時間格式。
format可用的轉義序列如下: %% 百分號 %a 當地縮寫的工作日名稱(例如,Sun) %A 當地完整的工作日名稱(例如,Sunday) %b 當地縮寫的月份名稱(例如,Jan) %B 當地完整的月份名稱(例如,January) %c 當地的日期和時間(例如,Thu Mar 3 23:05:25 2005) %C 世紀,和%Y類似,但是省略后兩位(例如,20) %d 一月中的一天(例如,01) %D 日期,等價于%m/%d/%y %e 一月中的一天,格式使用空格填充,等價于%_d %F 完整的日期;等價于%+4Y-%m-%d %g ISO標準計數周的年份的最后兩位數字 %G ISO標準計數周的年份,通常只對%V有用 %h 等價于%b %H 小時,范圍(00..23) %I 小時,范圍(00..23) %j 一年中的一天,范圍(001..366) %k 小時,使用空格填充,范圍(0..23),等價于%_H %l 小時,使用空格填充,范圍(1..12),等價于%_I %m 月,范圍(01..12) %M 分鐘,范圍(00..59) %n 換行符 %N 納秒,范圍(000000000..000000000) %p 用于表示當地的AM或PM,如果未知則為空白 %P 類似于%p,但用小寫表示 %q 季度,范圍(1..4) %r 當地以12小時表示的時鐘時間(例如,11:11:04 PM) %R 24小時每分鐘;等價于%H:%M %s 自協調世界時1970年01月01日00時00分以來的秒數 %S 秒數,范圍(00..60) %t 水平制表符 %T 時間;等價于%H:%M:%S %u 一周中的一天(1..7),1代表星期一 %U 一年中的第幾周,周日作為一周的起始(00..53) %V ISO標準計數周,該方法將周一作為一周的起始(01..53) %w 一周中的一天(0..6),0代表星期天 %W 一年中的第幾周,周一作為一周的起始(00..53) %x 當地的日期表示(例如,12/31/99) %X 當地的時間表示(例如,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) 默認情況下,日期用零填充數字字段;以下可選的符號可以跟在'%'后面: - (連字符) 不要填充相應的字段。 _ (下劃線) 使用空格填充相應的字段。 0 (數字0) 使用數字0填充相應的字段。 + 用數字0填充,未來年份大于4位數字則在前面加上'+'號。 ^ 允許的情況下使用大寫。 # 允許的情況下將默認的大寫轉換為小寫,默認的小寫轉換為大寫。 在任何標志之后都有一個可選的字段寬度,如小數;然后是一個可選的修飾符,在可用的情況下,使用E來使用當地語言環境的替代表示, 使用O來使用當地語言環境的替代數字符號。
長選項與短選項等價 -d, --date=STRING 解析字符串并按照指定格式輸出,字符串不能是'now'。 --debug 注釋已解析的日期,并將有疑問的用法發送到標準錯誤。 -f, --file=DATEFILE 類似于--date; 一次從DATEFILE處理一行。 -I[FMT], --iso-8601[=FMT] 按照ISO 8601格式輸出,FMT可以為'date'(默認),'hours','minutes','seconds','ns'。 例如:2006-08-14T02:34:56-06:00 -R, --rfc-email 按照RFC 5322格式輸出,例如: Mon, 14 Aug 2006 02:34:56 -0600 --rfc-3339=FMT 按照RFC 3339格式輸出,FMT可以為'date', 'seconds','ns'中的一個, 例如:2006-08-14 02:34:56-06:00 -r, --reference=FILE 顯示文件的上次修改時間。 -s, --set=STRING 根據字符串設置系統時間。 -u, --utc, --universal 顯示或設置世界協調時(UTC)。 --help 顯示幫助信息并退出。 --version 顯示版本信息并退出。
返回狀態為成功除非給出了非法選項或非法參數。
# 格式化輸出: date +"%Y-%m-%d" 2009-12-07 # 輸出昨天日期: date -d "1 day ago" +"%Y-%m-%d" 2012-11-19 # 2秒后輸出: date -d "2 second" +"%Y-%m-%d %H:%M.%S" 2012-11-20 14:21.31 # 傳說中的 1234567890 秒: date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%M:%S" # 或者 date -d@1234567890 +"%F %T" # 輸出結果 2009-02-13 23:02:30 # 時間格式轉換: date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S" # 輸出結果 2009/12/12 00:00.00 # apache格式轉換: date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S" # 輸出結果 2009-12-05 00:00.37 # 格式轉換后時間游走: date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S" # 輸出結果 2007-12-05 00:00.37 # 時間加減操作: date +%Y%m%d # 顯示年月日 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 # 顯示下一年的日期 # 設定時間: date -s # 設置當前時間,只有root權限才能設置,其他只能查看 date -s 20120523 # 設置成20120523,這樣會把具體時間設置成00:00:00 date -s 01:01:01 # 設置具體時間,不會對日期做更改 date -s "01:01:01 2012-05-23" # 這樣可以設置全部時間 date -s "01:01:01 20120523" # 這樣可以設置全部時間 date -s "2012-05-23 01:01:01" # 這樣可以設置全部時間 date -s "20120523 01:01:01" # 這樣可以設置全部時間 # 有時需要檢查一組命令花費的時間: start=$(date +%s) nmap wangchujiang.com &> /dev/null end=$(date +%s) difference=$(( end - start )) # 顯示執行時間 echo $difference seconds. # 當你考慮輸出帶有時間的字符串時,例如(Current time: 2019/05/19): # 通常使用的方法: echo "Current time: $(date +"%Y/%m/%d")" # 另一種方法: suffix='Current time:' # 注意如果換成單引號就不能替換變量了。 date +"${suffix} %Y/%m/%d"
該命令是GNU coreutils包中的命令,相關的幫助信息請查看man -s 1 date或info coreutils 'date invocation'。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用Linux中的date命令”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。