日付:年と週番号で始まり、月曜日の日付を取得する方法

日付:年と週番号で始まり、月曜日の日付を取得する方法

特定の週月曜日のI​​SO日付を取得するには?たとえば、2021年の32週目の月曜日?

出馬すると、date -dmonday +%Y%m%d今週の月曜日の日付がわかります。2021andを32変数として渡し、その週の月曜日の日付をどのように取得できますか?

ベストアンサー1

これはうまくいくようです。

#! /bin/bash
year=$1
week=$2

read s w d < <(date -d $year-01-01T13:00 '+%s %V %u')
(( s += ((week - w) * 7 - d + 1) * 24 * 60 * 60 ))

date -d @$s '+%V:%w %Y-%m-%d %a'

試験用

for y in {1970..2022} ; do
    maxw=$(date +%V -d $y-12-31)
    if (( max == 1 )) ; then  # The last day of the year belongs to week #1.
        max=52
    fi
    for ((w=1; w<=maxw; ++w)) ; do
        date.sh $y $w | tail -n1 | grep -q "0\?$w:1 " || echo $y $w
    done
done

date.sh上記のスクリプトはどこにありますか?

おすすめ記事