Escriba una función que tome una fecha y regrese el día de la semana del próximo 29 de febrero después de esa fecha.
La entrada es una cadena en el formato ISO extendido: AAAA-MM-DD (por ejemplo, el 27 de mayo de 2010 sería "2010-05-27").
La salida es una cadena que es el nombre del día de la semana (por ejemplo, "lunes"). Las mayúsculas no importan, pero da el nombre completo en inglés.
Si la fecha dada es el 29 de febrero, regrese el día de la semana del próximo 29 de febrero .
Utilice los cálculos para el calendario gregoriano proleptico (por lo tanto, utiliza los cálculos del año bisiesto gregoriano para toda su longitud). No se preocupe por el calendario juliano o cuando ocurrió el cambio de juliano a gregoriano. Solo asume Gregorian para todo.
La función debería funcionar al menos para el rango de "0001-01-01" - "2100-01-01".
Siéntase libre de usar las bibliotecas estándar que le proporcione el idioma de su elección, pero no use bibliotecas de terceros a menos que desee incluir ese código como parte de su solución.
El código más corto (menos caracteres) gana.
Ejemplos:
func("0001-01-01")
->"Sunday"
func("1899-12-03")
->"Monday"
func("1970-01-01")
->"Tuesday"
func("1999-07-06")
->"Tuesday"
func("2003-05-22")
->"Sunday"
func("2011-02-17")
->"Wednesday"
func("2100-01-01")
->"Friday"
(y no, no tienes que nombrar la función func
)
Consejos:
- Recuerde que los años que terminan en 00 que no son divisibles por 400 no son años bisiestos.
- El 1 de enero de 0001 es un lunes.