我想从参考日期中减去每周的日期。
我试着遵循shell脚本
weeknumber = 10
Day = "2020/12/1"
for ((j=0; j<$weeknumber; j++))
calcDay="`date -d "$Day -$j weeks" +%Y-%m-%d`"
echo $calcDay
done
但是它没有返回任何一天。我想要的结果如下
2020/12/1
2020/11/25
2020/11/18
2020/11/11
.
.
.
.
有什么好的方法可以做到这一点吗?
如果有人有什么意见,请告诉我
感谢首先,如果使用的是bash,那么for循环的语法是错误的。正确的语法如下:
for <condition>;
do
<steps to execute>
done
你可以考虑这样重写你的代码。
weeknumber=10
Day="2020/12/1"
for ((j=0; j<$weeknumber; j++));
do
calcDay="`date -d "$Day -$j weeks" +%Y-%m-%d`"
echo $calcDay
done
注意:如果您希望日期格式为2020/12/1,那么请考虑将日期格式指定为'%Y/%m/%d'而不是'%Y-%m-%d'
设置变量时不能有空格,并且要遵守for循环的语法。
weeknumber=10
Day="2020/12/1"
for ((j=0; j<$weeknumber; j++))
do
calcDay="`date -d "$Day -$j weeks" +%Y-%m-%d`"
echo $calcDay
done
为
2020-12-01
2020-11-24
2020-11-17
2020-11-10
2020-11-03
2020-10-27
2020-10-20
2020-10-13
2020-10-06
2020-09-29