Stellen Sie anhand eines MM/DD
Datums ( 12/24
) und eines Start- / Enddatumsbereichs ( 11/01 - 06/24
) fest, ob das Datum innerhalb des angegebenen Datumsbereichs liegt.
Datumsbereiche können sequentiell sein ( 05/01 - 11/01
) oder auf das nächste Jahr umlaufen ( 11/01 - 05/01
).
Beispiele:
12/24
ist in11/01 - 06/24
= True06/24
ist in11/01 - 06/24
= True06/24
ist in06/24 - 06/24
= True06/24
ist in11/01 - 06/23
= False07/24
ist in11/01 - 06/24
= False07/24
ist in05/01 - 11/01
= True07/24
ist in07/23 - 07/20
= True
Jahre spielen keine Rolle. Es wird davon ausgegangen, dass das Datum und / oder der Datumsbereich für jedes vergangene oder zukünftige Jahr gilt.
Das Enddatum liegt immer nach dem Startdatum. Wenn das Enddatum numerisch unter dem Startdatum liegt, gehen wir davon aus, dass wir uns auf das nächste Jahr konzentrieren.
Die drei Eingabevariablen können über eine beliebige Methode (args, HTTP, stdin usw.) und in einem beliebigen Format (Zeichenfolge, JSON, Array usw.) erfolgen.
Die Antwort kann eine boolean
beliebige Form einer Ja / Nein / Richtig / etc .. Zeichenfolge sein. Der kürzeste Code gewinnt.
Sie können Argumente nicht einfach an eine integrierte Funktion übergeben.
11/01 - 06/24 includes 06/24?
['06', '24']
wenn es richtig ist []
oder was meinst du?
2017
und nächstes Jahr 2018
. Wie sollen wir das 06/24
Mittel bestimmen 2018
und sollten es True
eher sein als 2017
und so, False
weil es vorher ist 11/01
?
date > start & date < end
" - Dann sind einige Ihrer Testfälle falsch. Ich denke was du meinst ist start<=date<=end
.
['MM', 'DD']
?