'date +%W' 명령은 00주차를 반환하지 않습니다.

'date +%W' 명령은 00주차를 반환하지 않습니다.

날짜(1)에 대한 매뉴얼 페이지에는 다음과 같이 표시됩니다.
%W 주 번호, 월요일이 주의 첫 번째 날(00..53)

나는 주 번호 00이 있다고 가정하고 내 프로그램에서 해당 주를 처리했지만 일단 테스트하기로 결정한 후에는
'date -v -28w +%W'를 실행하면 01이 되고
'date -v -29w + %W' 결과는 52입니다.

몇 년 동안 00주차가 되는 것이 가능합니까? 아니면 여기서 무슨 일이 일어나고 있습니까? 아마도 제가 뭔가를 놓치고 있는 것 같습니다. 감사합니다.

답변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

관련 정보