如果我输入月份和年份作为输出,则输出应为该月的星期一和星期四的日期。
例如:如果输入是year = 2013 month = 02 output应该是
2013-02-04
2013-02-07
2013-02-11
2013-02-14
2013-02-18
2013-02-21
2013-02-25
2013-02-28
如何在shell脚本中为此使用日期函数?
这个方法只需要2次调用date
,其余的只是算术
year=2013
month=2
last=$(date -d "$year-$month-1 + 1 month - 1 day" +%d)
wday=$(date -d "$year-$month-1" +%w)
for (( day=1; day<=$last; day++ )); do
if (( wday == 1 || wday == 4 )); then
printf "%4d-%02d-%02d\n" $year $month $day
fi
(( wday = (wday + 1) % 7 ))
done
2013-02-04
2013-02-07
2013-02-11
2013-02-14
2013-02-18
2013-02-21
2013-02-25
2013-02-28
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句