El comando 'fecha +%W' no regresa la semana 00

El comando 'fecha +%W' no regresa la semana 00

La página del manual para la fecha (1) dice:
%W número de semana del año, con el lunes como primer día de la semana (00..53)

Supuse que existe una semana número 00, y manejo esa semana en mi programa, pero una vez que decidí probarlo, la ejecución de
'date -v -28w +%W' da como resultado 01 y
'date -v -29w + %W' da como resultado 52.

¿Es posible que en algún año llegue la semana 00, o qué está pasando aquí? Probablemente me estoy perdiendo algo, gracias.

Respuesta1

Cualquier día del año antes del primer lunes será la semana 00. Tomemos como ejemplo el 1 de enero de 2020, que fue miércoles (el primer lunes de 2020 no ocurrió hasta el 6 de enero):

$ 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

Del mismo modo, en los años que comienzan en lunes, habrá algunos días de diciembre que caerán en la semana 53. 2018 fue uno de los siguientes años:

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

información relacionada