我想读取两个日期范围之间的所有日期,这个范围包括开始日期和结束日期
input_start_date="2013-09-05"
input_end_date="2013-09-10"
START_DATE=$(date -I -d "$input_start_date") || exit -1
END_DATE=$(date -I -d "$input_end_date") || exit -1
d="$START_DATE"
while [ "$d" <= "$END_DATE" ]; do
echo $d
d=$(date -I -d "$d + 1 day")
done
Run Code Online (Sandbox Code Playgroud)
但是当我运行上面的代码时,我得到以下错误
bash: = 2013-09-10: No such file or directory
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗
预期输出
2013-09-05
2013-09-06
2013-09-07
2013-09-08
2013-09-09
2013-09-10
Run Code Online (Sandbox Code Playgroud)
小智 5
start=2013-09-05
end=2013-09-10
while [[ $start < $end ]]
do
printf "$start\n"; start=$(date -d "$start + 1 day" +"%Y-%m-%d")
done
Run Code Online (Sandbox Code Playgroud)
或者你可以试试这个
END=$(date -d "2013-09-10" +%s);
DATE=$(date -d "2013-09-05" +%s);
while [[ "$DATE" -le "$END" ]]; do date -d "@$DATE" +%F; let DATE+=86400; done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
377 次 |
| 最近记录: |