Septembre 1993 est connu sur Usenet comme le mois de septembre qui n'a jamais pris fin. Ainsi, par exemple, le jour où cette question est affichée est le samedi 87 septembre 1993.
Votre programme ou fonction doit prendre n'importe quelle date grégorienne (avec année positive) en entrée et renvoyer la même date que la sortie si elle est antérieure à septembre 1993 ou la date du calendrier de septembre 1993 si par la suite.
Vous pouvez accepter AAAA-MM-JJ, AAAA / MM / JJ, MM / JJ / AAAA, JJ / MM / AAAA, D-Monthnameabbr-AAAA, ou tout autre format populaire qui utilise l'intégralité de l'année (par opposition à la année modulo 100). Vous n'avez qu'à accepter un tel format, de votre choix. Le format de sortie doit correspondre au format d'entrée.
Exemple d'entrée → sortie:
- Dimanche 6 août 2017 → dimanche 8741 septembre 1993
- Mardi 28 janvier 1986 → Mardi 28 janvier 1986
Ou:
- 2017-08-06 → 1993-09-8741
- 1986-01-28 → 1986-01-28
Dans l'intérêt de réponses plus intéressantes, l'utilisation d'une fonction intégrée conçue à cet effet (comme la sdate
commande UN * X ) est interdite. Mis à part cela et les exceptions standard , c'est le golf, donc la réponse la plus courte l'emporte.