shell日期加减及数组循环

脚本以下:数组

#!/bin/bash

#开始日期
date1="20180111"
#结束日期
date2="20180112"

#转化为日期
t1=`date -d "$date1"`

#时间相减,单位为秒
time_sub=$(($(date +%s -d "${date2}") - $(date +%s -d "${date1}")));
#转化为天
for_num=`expr $time_sub / 86400`
echo ${for_num}

enum_dates=()

#循环枚举两个时间中间的天,并逐个赋值给数组
for((i=0;i<=for_num;i++));do
    #ti加i天
    enum_dates[i]=`date +'%Y%m%d' -d "${t1} +${i} day"`
done

#循环数组
for data in ${enum_dates[@]}
do
    echo $data
done
相关文章
相关标签/搜索