我有 3 个日期“9 月 30 日星期一”的参数(月份、日期编号、日期),我想编写一个 shell 脚本来显示到 9 月 30 日星期一还剩余的天数。
我该怎么做?
答案1
我假设你想计算距离最近的一天(即 9 月 30 日星期一)还有多少天,无论哪一年。这个脚本对我有用(你可以将条件中的“星期一”更改为一周中的另一天,其他日子/月份也一样。该脚本定义了现在是哪一年,并从那里开始计数。它使用你问题下的 stack-overflow 线程链接中的一行代码
YEAR=$(date +%Y)
DAY=$(date -d "30 SEP $YEAR" +%A)
until [[ $DAY == "Monday" ]]
do
YEAR=$(($YEAR+1))
DAY=$(date -d "30 SEP $YEAR" +%A)
done
echo $(expr '(' $(date -d $YEAR/9/30 +%s) - $(date +%s) + 86399 ')' / 86400) " days until deadline"