Shell中得到某一天前n天的日期的方法

来源:互联网 发布:软件开发关键技术 编辑:程序博客网 时间:2024/05/17 23:09

如果有一个日期data_date(yyyy-mm-dd), 需要得到其n天前的日期,该如何实现呢?

1.首先,将其转为yyyymmdd的格式:

tempday=${data_date:0:4}-${data_date:4:2}-${data_date:6:2}

2.然后用Loop循环来实现:

 

for (( i=0; i<n; i++ ))

do

   (( tempday-- ))

   tempday =$(date -d $tempday +%Y%m%d)     #将其转为正确的date形式

done

 

newdate=$(date -d $tempday +%Y-%m-%d) 

 

这样就可以得到新的日期了!