linux系统date命令计算两次,linux date命令

在linux环境下要取得几天前的时期只要使用

date -d "x days ago" +%Y%m%d

x用数字代替,如果需要几天前的直接写正数,如果要几天后的日期直接写负数即可;

date -d "x weeks ago" +%Y%m%d

x用数字代替,如果需要几周前的直接写正数,如果要几周后的日期直接写负数即可;

date -d "x years ago" +%Y%m%d

x用数字代替,如果需要几年前的直接写正数,如果要几年后的日期直接写负数即可;

看下面例子:

[root@showsky ~]# date +%Y%m%d20100107

上面是今天的日期20100107

[root@showsky ~]# date -d "2 days ago" +%Y%m%d

20100105

上面是两天前的日期

[root@showsky ~]# date -d "4 days ago" +%Y%m%d20100103

上面是四天前的日期

[root@showsky ~]# date -d "-1 days ago" +%Y%m%d

20100108

上面是一天后的日期

[root@showsky ~]# date -d "-2 days ago" +%Y%m%d

20100109

上面是两天后的日期

[root@showsky ~]# date -d "1 week ago" +%Y%m%d

20091231

上面是一周前的日期

[root@showsky ~]# date -d "1 year ago" +%Y%m%d

20090107

上面是一年前的日期

今天需要写一个shell脚本来完成apache日志的筛选,需求很简单,就是要把10分钟之前的日志找出来,然后放到另一个文件中。shell中用 date命令对日期进行处理,但怎么获取10分钟之前的时间呢,仔细看了一下help,没有看出对时间的“运算”,有的也就是一些输出格式的描述。但有一 个参数 -d or --date=STRING 其描述是display time described by STRING, not ‘now’,那这个STRING该怎么写才可以describe我想要的时间呢,使用 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命令做日期的计算了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值