Insoweit erweist sich mein erster Ansatz als schnell und zielführend.
"Schnell" ist eine hohle Phrase, wenn du nicht gemessen hast und ergibt ohne Bezugspunkte ohnehin nicht viel Sinn. Außerdem ist das Umformatieren eines zehn Zeichen langen Strings wohl kaum ein Performance-Engpass im Gesamtkontext der Anwendung. Für Performance-Optimierung gilt die Faustregel: Machen, wenn es zu spät ist. Zuerst sollte man den Code möglichst lesbar und wartungsfreundlich notieren. Anschließend kann man mit einem Profiler nach Optimierungspotenzialen suchen und dort optimieren, wo sich wirklich etwas einsparen lässt.
Außerdem stecken in deinem Code zwei Feature-Creeps: Die Behandlung von Zeitstempeln und der Fallback auf das aktuelle Jahr. Dafür fehlt mir eine Fehlerbehandlung für ungültige Eingaben. Dafür habe ich im Üübrigen die Negativ-Bewertung verliehen.