linux下shell日期运算

获取当前时间的相对时间位移:

法一:

-d or --date=STRING 其描述是display time described by STRING, not ‘now’, STRING为n second(s)/minute(s)/hour(s)/day(s)/year(s) ago 即可,其中n支持负数,表示之后之间。

        获取10分钟之前的时间: date --date=“10 munites ago”

        获取10天之前的时间: date --date=“10 days ago”

        获取10分钟之后的时间: date --date=“-10 munites ago”

        获取10天之后的时间: date --date=“-10 days ago”

       这样就实现了使用shell命令做日期的计算了

       此获得结果为:Wed Jun  6 11:43:01 CST 2012

法二:

          (1) date +%Y%m%d -d "-2 day"

          表示以“%Y%m%d”格式,获得2天前日期(以当前时间计算),返回结果为:20120704

          此方式更加灵活,但是比法一麻烦。

          如:date +%Y/%m/%d -d "-2 day",返回结果为:2012/07/04

          (2) date +%Y%m%d -d " 2012/07/06 -2 day"

          表示从2012/07/06算起,前2天日期,返回结果为:2012/07/04

          注意:" 2012/07/06 -2 day" 中的日期格式可写成“2012-07-06”,就不可写成“20120706”,返回结果由+%Y%m%d控制

          更复杂些的:date +%Y%m%d -d'2007/02/12 -1 month -1 year -24 day'

法三:

         前一天的日期

         date -d"1 day ago" +"%y%m%d"

         前一个月的日期

        date -d"1 month ago" +"%y%m%d"

        类似的还有

                 date -d"-1 day ago 1 month ago"+"%y%m%d"

                 date -d"1 dayago -1 year ago 1 month ago" +"%y%m%d"



shell中定义变量为日期计算结果方式为:

         d2=&date --date="31 days ago"



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值