Écrivez une fonction qui prend une date et renvoie le jour de la semaine du 29 février suivant cette date.
L'entrée est une chaîne au format ISO Extended: AAAA-MM-JJ (par exemple, le 27 mai 2010 serait "2010-05-27").
La sortie est une chaîne qui est le nom du jour de la semaine (par exemple "lundi"). La capitalisation n'a pas d'importance, mais donnez le nom complet en anglais.
Si la date donnée est Février 29, puis revenez le jour de la semaine du prochain 29 Feburary.
Utilisez les calculs pour le calendrier grégorien proleptique (il utilise donc les calculs de l'année bissextile grégorienne pour toute sa longueur). Ne vous inquiétez pas du calendrier julien ou du moment où le passage de julien à grégorien s'est produit. Assumez simplement le grégorien pour tout.
La fonction doit fonctionner pour au moins la plage "0001-01-01" - "2100-01-01".
N'hésitez pas à utiliser les bibliothèques standard fournies par la langue de votre choix, mais n'utilisez pas de bibliothèques tierces à moins que vous ne souhaitiez inclure ce code dans votre solution.
Le code le plus court (le moins de caractères) l'emporte.
Exemples:
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"
(et non, vous n'avez pas à nommer la fonction func
)
Conseils:
- N'oubliez pas que les années se terminant par 00 qui ne sont pas divisibles par 400 ne sont pas des années bissextiles.
- Le 1er janvier 0001 est un lundi.