如何减去日期



我想从参考日期中减去每周的日期。

我试着遵循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

相关内容

  • 没有找到相关文章

最新更新