Escreva uma função que tenha uma data e retorne o dia da semana do próximo 29 de fevereiro após essa data.
A entrada é uma sequência no formato ISO estendido: AAAA-MM-DD (por exemplo, 27 de maio de 2010 seria "2010-05-27").
A saída é uma string que é o nome do dia da semana (por exemplo, "segunda-feira"). Letras maiúsculas não importam, mas dê o nome completo em inglês.
Se a data especificada for 29 de fevereiro, retorne o dia da semana do próximo dia 29 de fevereiro .
Use os cálculos do Calendário Gregoriano Proléptico (portanto, ele usa os cálculos do ano bissexto gregoriano para toda a sua duração). Não se preocupe com o calendário juliano ou quando ocorreu a mudança de juliano para gregoriano. Apenas assuma gregoriano para tudo.
A função deve funcionar para pelo menos o intervalo de "0001-01-01" - "2100-01-01".
Sinta-se à vontade para usar as bibliotecas padrão fornecidas por seu idioma, mas não use bibliotecas de terceiros, a menos que queira incluir esse código como parte da sua solução.
O código mais curto (menos caracteres) vence.
Exemplos:
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"
(e não, você não precisa nomear a função func
)
Dicas:
- Lembre-se de que os anos terminados em 00, que não são divisíveis por 400, não são bissextos.
- 1 de janeiro de 0001 é uma segunda-feira.