我是
linux的新手.如何在给定的日期范围内打印和存储日期.
例如,我有startdate = 2013-03-01和enddate = 2013-03-25;我想打印该范围内的所有日期.
提前致谢
解决方法
只要日期为YYYY-MM-DD格式,您可以按字典顺序对它们进行比较,让日期执行日历算法而不先转换为秒:
startdate=2013-03-15 enddate=2013-04-14 curr="$startdate" while true; do echo "$curr" [ "$curr" \< "$enddate" ] || break curr=$( date +%Y-%m-%d --date "$curr +1 day" ) done
[…],你需要逃避<避免与输入重定向操作符混淆. 如果它大于结束日期,则确实打印了开始日期.