在写shell脚本时,我们经常会有需求,对某一个日期时间范围内进行循环处理,可以通过设置起止日期,在起止日期范围内进行循环,
```
dateStart="2016-11-16"
dateEnd="2017-03-07"
date_s=`date -d "${dateStart}" +%s`
date_e=`date -d "${dateEnd}" +%s`
while [ "${date_s}" -le "${date_e}" ];do
statDate=`date -d @${date_s} +"%Y-%m-%d"`;
echo $statDate;
# do something
date_s=$((date_s+86400));done
```
date命令 +%s 可以计算指定日期到1970-01-01 00:00:00的秒数(感觉更像是距离1970-01-01 08:00:00的时间)
```
date -d "1970-01-01 08:00:00" +%s
#结果是 0
```
86400就是一天24小时的总秒数,如果需要在小时级别进行循环,可以每次增加3600