當前位置: 首頁>>編程語言>>正文


Linux shell時間處理大全,值得收藏

本文匯總了Linux shell中各種時間處理方法,包括時間顯示、時間轉換、時間設置等等,內含大量示例及輸出, 這裏記錄下來作為備忘,持續更新,禁止轉載。內容比較多,可以直接CTRL+F查找。

1. 顯示當前時間,按指定格式顯示時間。

date    //顯示當前時間,輸出結果:Tue Mar  7 22:13:22 CST 2017
date +"%Y/%m/%d %H:%m:%S"  //顯示指定格式時間,輸出結果:2017/03/07 22:03:05 
//日期格式化符號說明如下:(原文地址:https://vimsky.com/zh-tw/article/1629.html)         
%%    顯示一個百分號'%'。         
%a     星期的簡稱, 如:Sun/Mon/Tue/Wed/...。         
%A     星期完整名字,如:Sunday/Monday/...。         
%b     月份簡稱,如:Jan/Feb/...。         
%B     月份全稱,如: January/February。         
%c     顯示當前日期和時間,如:Thu Mar  3 23:05:25 2005。 
date等同於date +"%c"。         
%C     世紀,如:現在是20世紀, 輸入date +"%C"顯示20。         
%d     日期,如當前是8號,則顯示:08。         
%D     完整日期,date +"%D"相當於date  +"%m/%d/%y", 如:03/07/17(2017年3月7號)。         
%e     日期,用空格補全,而不是0, 如當前日期:7號,則顯示" 7"。date +"%e" 相當於 date +"%_d"         
%F     完整日期,相當於:date +"%Y-%m-%d", 輸出:2017-03-07。         
%g     年份後2位,如果是2017, 則為:17。         
%G    年份全4位,如2017。         
%h     月份簡稱,如:Jan/Feb/Mar, 跟%b相同。         
%H     小時 (00/01/02/..23),24小時製。         
%I     小時 (01/02/..12), 12小時製。         
%j     一年的第幾天 (001/002/..366)。         
%k     小時,填充空格, 如 ( 0/ 1/ 2/..23); 相當於%_H。         
%l      小時, 填充空格 ( 1/ 2/ 3/ ..12); 相當於 %_I。         
%m    月份 (01/02/03/..12)。         
%M     分鍾(00/01/02/..59)。         
%n     換行。date +"%d%n%d", 將會分成兩行分別顯示日期。         
%N     納秒 (000000000/000000001/..999999999)。         
%p     AM/PM, 即上午或者下午。         
%P     跟%p意思一樣, 不過是小寫字母,即am/pm。         
%r     顯示12小時製的當前時間,如:10:48:05 PM。         
%R     24小時製的當前時間和分鍾,相當於: %H:%M,22:49。         
%s     從1970-01-01 00:00:00 UTC開始的秒數,如:1488898232(對應時間:Tue Mar  7 22:50:32 CST 2017),相當於日期轉時間戳。         
%S     秒 (00/01/02/..60)。         
%t     一個tab鍵,製表符。         
%T     當前時間,相當於: %H:%M:%S。如:22:52:07。         
%u     星期中的第幾天 (1/2/..7); 1是星期一。         
%U     一年中的第幾個星期(00..53),星期天作為一個星期的第一天。         
%V     一年中的第幾個星期(ISO標準)(01..53),星期一作為一個星期的第一天。         
%w     星期中的第幾天 (0..6); 0是星期天。         
%W     一年中的第幾個星期 (00..53),星期一作為一個星期的第一天。         
%x     當前日期 (例如: 03/07/17)。         
%X    當前時間(例如: 23:13:48)。         
%y     年的後兩位 (00/02/..99)。         
%Y     年,如:2017。         
%z     +hhmm 數字時區(例如:北京:+0800)。         
%:z    +hh:mm 數字時區(例如:北京:+08:00)。         
%::z   +hh:mm:ss 數字時區 (例如:北京:+08:00:00)。         
%:::z  numeric time zone with : to necessary precision (e.g., -04, +05:30)。
%Z     字母時區縮寫 (如, CST)。

 

2. 時間數字轉字符串,時間整數轉字符串,時間戳轉字符串,數字和字符串時間轉換。

 

date --date @1488899583  //將從1970-01-01 00:00:00 UTC開始的秒數,轉為字符串時間,1488899583這個整數秒轉為字符串時間:Tue Mar  7 23:13:03 CST 2017。 
date --date @"1488899583"  //同上,即時間戳轉字符串,或者整數秒轉字符串時間。 
date +"%s"  //日期轉時間戳,日期轉整數。原文地址:https://vimsky.com/zh-tw/article/1629.html

 

 


3. 設置當前時間

 

date -s "2017/05/08 23:28:13"   //設置日期和時間。(原文地址:https://vimsky.com/zh-tw/article/1629.html) 
date -s "2017/05/08" //設置日期(注意,時間會同時被設置為00:00:00,慎用)。 
date -s "23:28:13"     //設置時間。

 

4. 時間解析,將輸入的字符串解析為時間

 

date -d "20170305"  //解析日期, 輸出:Sun Mar  5 00:00:00 CST 2017。 
date -d "03/05/2017"  //解析日期,輸出同上。原文地址:https://vimsky.com/zh-tw/article/1629.html 
date -d "2017/03/05 11:12:13" //解析日期和時間, 輸出: Sun Mar  5 11:12:13 CST 2017。 
date -d "2017-03-05 21:12:17" +"%s" //將輸入時間轉為時間戳,輸出:1488719537。 
date -d "2017-03-05 21:12:17" +"%Y/%m/%d %H:%M:%S"  //時間格式轉換,將輸入日期轉換為自定義格式。

 

5. 時間運算,時間加減運算

 

//時間加減運算,可以直接用-d命令結合year/month/day/hour/minute/second, 單複數都行 
date -d "+1 days" //明天,當前時間加1天。 
date -d "+2 days" //後天,當前時間加2天。 
date -d "+15 days" //半個月之後,當前時間+15天。 
date -d "+10 days" +"%Y%m%d %H:%M:%S" 當前時間加10天,並按指定格式輸出。 
date -d "-1 days" //昨天,當前時間減1天。 
date -d "-2 days" //前天,當前時間減2天。 
date -d "2017/03/05 +1 days"   //指定日期加1天。 
date -d "2017/03/05 -1 days"    //指定日期減1天。 
date -d "2017/03/08 +600 seconds" //指定日期加600秒。 
date -d "2017/03/08 -600 seconds" //指定日期減600秒。 
date -d "2017/03/08 +600 minutes" //指定日期加600分鍾。 
date -d "2017/03/08 -600 minutes" //指定日期減600分鍾。 
date -d "2017/03/08 +10 year" //指定日期加10年。 
date -d "Tue Mar 10 14:12:13 CST 2015  +1 days" //指定日期時間,加一天。 
date -d "15:21:11 03/18/2017  -1 days"  //指定日期時間,減一天。注:時間放在日期的後麵目前似乎不可用。


6. 待續。。。

 

本文 《Linux shell時間處理大全》 由純淨的天空收集整理,持續更新,歡迎收藏,禁止轉載。

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/1629.html,未經允許,請勿轉載。