内容来源于BBS,经过整理贴出来分享!
计算3天前的日期
date +%D -d '-3 days'11/03/12
计算3天后的日期
date +%D -d '+3 days'11/09/12
计算3天后的日期,写不写+都一个效果,跟上边结果一样
date +%D -d '3 days'11/09/12
计算1个月前的日期
date +%F -d '-1 month'2012-10-06
计算1年前的日期
date +%F -d '-1 year'2011-11-06
再来看看相关时间的操作,有了刚才上边对日期操作的理解,看这个时间相比不难。E文单词不懂的去问translate.google.com.hk ^_^
获取当前时间
date +%T13:48:25
获取1小时前的时间
date +%T -d '-1 hours'12:48:27
获取10分钟前的时间
date +%T -d '-10 minutes'13:38:35
获取3小时后的时间
date +%T -d '3 hours'16:49:08
有关时间戳的处理,时间戳的基准是1970年1月1日0点0分0秒,注意这可是格林尼治天文台的时间,不是北京时间啊。
显示系统当前的时间戳
date +%s1352183334
把某时间戳转换回日期格式
date -d "@1352183334"Tue Nov 6 14:28:54 CST 2012
看到了吧,因为现在这个系统是东8区的时区,所以0时间戳时候,这系统应该已经是1970年1月1日早上8点了
date -d "@0"Thu Jan 1 08:00:00 CST 1970
再来个计算任意日期的前N日或后N日如何操作
DAY="20000101"echo $DAY20000101date +%F -d "$DAY 1 day"2000-01-02date +%F -d "$DAY -1 day"1999-12-31
计算两个日期相差天数,比如2012年11月1日和2010年5月1日,相差多少天呢?
d1=$(date +%s -d 20121101)d2=$(date +%s -d 20101101)echo $(((d1-d2)/86400))731
本文出自 “Lisp的运维之路” 博客,请务必保留此出处http://lspgyy.blog.51cto.com/5264172/1543682