日期(1) 的手冊頁顯示:
%W 一年中的週數,星期一為一週的第一天 (00..53)
我假設存在第 00 週,並且我在程序中處理這樣的周,但是一旦我決定測試它,執行
“date -v -28w +%W”會得到 01,而
“date -v -29w +”會產生結果。
是否有可能某一年達到第 00 週,或是這裡發生了什麼事?可能我錯過了一些東西,謝謝。
答案1
一年中第一個星期一之前的任何一天都將是第00 週。 :
$ 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 週。
$ date -d "2018-12-31" +%W
53