Der September 1993 ist im Usenet als der September bekannt, der niemals endete. So ist beispielsweise der Tag, an dem diese Frage gestellt wird, Samstag, September 8740, 1993.
Ihr Programm oder Ihre Funktion sollte jedes gregorianische Datum (mit positivem Jahr) als Eingabe verwenden und dasselbe Datum wie die Ausgabe zurückgeben, wenn es vor September 1993 liegt, oder das Datum im September 1993-Kalender, wenn es danach liegt.
Sie können JJJJ-MM-TT, JJJJ / MM / TT, MM / TT / JJJJ, TT / MM / JJJJ, D-Monthnameabbr-JJJJ oder jedes andere beliebte Format akzeptieren, das das gesamte Jahr verwendet (im Gegensatz zum Jahr Modulo 100). Sie müssen nur ein solches Format Ihrer Wahl akzeptieren. Das Ausgabeformat muss mit dem Eingabeformat übereinstimmen.
Beispiel Eingabe → Ausgabe:
- Sonntag, 6. August 2017 → Sonntag, 8741 September 1993
- Dienstag, 28. Januar 1986 → Dienstag, 28. Januar 1986
Oder:
- 2017-08-06 → 1993-09-8741
- 28.01.1986 → 28.01.1986
Im Interesse interessanterer Antworten ist die Verwendung einer für diesen Zweck entwickelten integrierten Funktion (z. B. des UN * X- sdate
Befehls) nicht zulässig. Abgesehen davon und den Standardausnahmen ist dies Golf, sodass die kürzeste Antwort gewinnt.
Antworten:
JavaScript (ES6), 48 Byte
Basierend auf dem Algorithmus von @ Mr.Xcoder.
quelle
Python 3 , 109 Bytes
Probieren Sie es online aus!
-59 Bytes dank Notjagan
-3 Bytes dank Mr. Xcoder
-2 Bytes dank Officialaimm
-12 Bytes dank Jonathan Allan
quelle
-8644+1
kann sein-8643
..z>9
sonst verlierst du die führende Null am Tag.Mathematica, 55 Bytes
I / O.
-6 Bytes Danke an user202729
quelle
{1993,9,1}
um einen Tag zu verschieben, um die zu entfernen+1
und 2 Bytes zu sparen?{1993,9,0}
das erlaubt ist.Perl 5 , 102 + 16 (-MTime :: Local -F-) = 118 Bytes
Probieren Sie es online aus!
Nimmt das Datum als "JJJJ-MM-TT"
Ich glaube, ich habe direkt in den Befehlszeilenoptionen gezählt. Ich bin sicher, jemand wird mich korrigieren, wenn ich es nicht getan habe.
quelle
C # (.NET Core) , 107 Byte
Probieren Sie es online aus!
Nimmt Daten als M / T / JJJJ (Zahlen unter 10 mit nur 1 Ziffer geschrieben). Geschrieben von meinem Handy mit der API auswendig.
quelle
Gaia , 78 Bytes
Probieren Sie es online aus!
Erläuterung
Erstens haben wir eine Hilfsfunktion, die bestimmt, ob ein Jahr ein Schaltjahr ist.
Die Hauptfunktion erledigt den Rest der Arbeit:
quelle