逗号分隔的日期值

时间:2015-02-10 14:10:46

标签: shell unix

我有不正确打印日期的代码

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

我无法弄清楚出了什么问题。

1 个答案:

答案 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"

如果有人有更好的解决方案,请告诉我。