Wie wäre es denn, vor dem FormatDateTime durch StringReplace die Formatcodes umzuwandeln? So viele sind es ja nicht...
Nicht so gut, wenn du dir diesen gültigen format-String anschaust
rauskommen müsste durch
strftime
Der passende Format-String für Delphi wäre
Meine Einschätzung: Es ist einfacher den Formatstring so wie er ist zu parsen und direkt die Werte zu ersetzen als diesen erst umzuformen (da muss man auch parsen) und dann durch
FormatDateTime
zu jagen.
Vielleicht verstehen ich das ganze auch gerade falsch. Aber wenn ich beispielsweise %Y mit StringReplace in YYYY umwandle dann kommt doch bei FormatDateTime 2019 als Beispiel raus.
EDIT: Klar, direkt parsen ist natürlich besser