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
相關文章
相關標籤/搜索