コマンド 'date +%W' は週 00 を返しません

コマンド 'date +%W' は週 00 を返しません

date(1)のマニュアルページには次のように書かれています:
%W 月曜日を週の初日とする年内の週番号 (00..53)

週番号 00 が存在すると想定し、プログラムでそのような週を処理しましたが、テストしてみると、
「date -v -28w +%W」を実行すると 01 になり、
「date -v -29w +%W」を実行すると 52 になります。

ある年が週 00 になる可能性はありますか、それともここでは何が起きているのでしょうか? おそらく私が何かを見逃しているのでしょう、ありがとうございます。

答え1

1 年の最初の月曜日の前の日は、週 00 になります。たとえば、2020 年 1 月 1 日は水曜日でした (2020 年の最初の月曜日は 1 月 6 日まで発生しませんでした)。

$ date -d "2020-01-01" +%W
00
$ date -d "2020-01-02" +%W
00
$ date -d "2020-01-03" +%W
00
$ date -d "2020-01-04" +%W
00
$ date -d "2020-01-05" +%W
00
$ date -d "2020-01-06" +%W
01

同様に、月曜日に始まる年では、12 月には 53 週目に該当する日がいくつかあります。2018 年はそのような年でした。

$ date -d "2018-12-31" +%W
53

関連情報