El día de la semana y el mes del año parecen llamar mucho la atención, pero a nadie parece importarle la semana del año. Creo que es hora de cambiar eso, por lo que su trabajo es escribir un programa o función que, cuando se le da una fecha, genera un número entero entre 1 y 53 correspondiente a la semana actual del año.
Para los propósitos de este desafío, diremos que el primer domingo del año marca el comienzo del año, por lo que el único caso cuando el 1 de enero se considera la semana 1 es cuando cae en domingo.
- La entrada puede ser cualquier formato de fecha que no incluya explícitamente el número de semana (solo especifique el formato en su respuesta) para las fechas entre
1JAN1900
y31DEC2100
. - La salida es un número entero entre 1 y 53
- Puede usar cualquier método estándar para proporcionar entrada / salida.
Casos de prueba
17MAY2017 -> 20
3JAN2013 -> 53
1JAN2017 -> 1
17MAY1901 -> 19
31DEC2100 -> 52
7JUL2015 -> 27
- Este es el código de golf, por lo que se aplican todas las reglas estándar de golf, y gana el código más corto (en bytes).
07/07/2015
)? Puede 7JUL2015
ser 07JUL2015
?
7/7/2015
, 2015-07-07
también son válidos.
%U
: Como señala @J_Lard, debe tener cuidado de si la semana 0 es la semana 52 o 53 del año anterior. Es la semana 53 en 2001, 2007, 2013, 2018, 2024, 2029 y se repite en un ciclo de 28 años. Otros años es la semana 52.