如何减去日期
How to subtract date
我想从参考日期中减去每周的日期。
我尝试遵循 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
但它没有 return 任何一天。
我想要的结果如下
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
我想从参考日期中减去每周的日期。
我尝试遵循 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
但它没有 return 任何一天。 我想要的结果如下
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