Zu aufwendig.
Dann kann man die aber gleich als Datum interpretieren und prüfen, ob der Tag des so ermittelten Datums mit der entsprechenden Zahl im String übereinstimmt. Das sollte genügen.
Für Dich sind das ein paar Zeilen weniger - aber im Hintergrund wird dann die Eingabe geparst, unter Berücksichtigung von Schaltjahren und sogar Schaltsekunden in eine Zahl von Millissekunden seit dem 1.1.1970 00:00:00 GMT umgerechnet, und dann - erneut unter Berücksichtigung von Schaltjahren und sogar Schaltsekunden - daraus wieder das Jahr, der Monat und der Tag berechnet.
Für mich klingt das nach hohen Aufwand und nach Verwendung von ziemlich viel Speicher und vor allem Prozessortakten…
Dafür ist das die date-Klasse freilich schon kompiliert. Allerdings verwendet mein Skript ausgesprochen primitive (also schnelle) Anweisungen.
Also: Ohne umfangreiche Tests und eine vorherige, sachangemsssene Definition von „Aufwand“ würde ich keine Aussage darüber treffen wollen, was „aufwändiger“ ist.