我有不正确打印日期的代码
condition=`date -d "20150209" +%a`
start_date=`date -d -7day"20150209" +%Y%m%d`
end_date=`date -d -1day"20150209" +%Y%m%d`
if [ "$condition" = "Mon" ]
then
while [ "$start_date" != "$end_date" ]
do
Date+=$start_date,
start_date=$(date -d +1day"$start_date" +%Y%m%d)
done
echo "$Date"
fi
我期待输出为
20150203,20150204,20150205,20150206,20150207,20150208
我无法弄清楚出了什么问题。
答案 0 :(得分:0)
我错过了日期范围中的最后一个元素。 这是解决方案。
condition=`date -d "20150209" +%a`
start_date=`date -d -7day"20150209" +%Y%m%d`
end_date=`date -d -1day"20150209" +%Y%m%d`
while [ "$start_date" != "$end_date" ]
do
Date+=$start_date,
start_date=$(date -d +1day"$start_date" +%Y%m%d)
done
echo "$Date$end_date"
如果有人有更好的解决方案,请告诉我。