当前位置: 首页>>编程语言>>正文


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/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/article/1629.html

 

 


3. 设置当前时间

 

date -s "2017/05/08 23:28:13"   //设置日期和时间。(原文地址:https://vimsky.com/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/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/article/1629.html,未经允许,请勿转载。