shell脚本中用得比较多:
在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%d
20100107
上面是今天的日期20100107
[root@showsky ~]# date -d "2 days ago" +%Y%m%d
20100105
上面是两天前的日期
[root@showsky ~]# date -d "4 days ago" +%Y%m%d
20100103
上面是四天前的日期
[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
上面是一年前的日期