Delphi-Quellcode:
EinMonatFrüher := IncMonth(Now, -1);
AnfangDesVormonats := IncMonth(StartOfAMonth(Now), -1);
StartOfAMonth
IncMonth IncDay
YearOf MonthOf
Aber ja, als
DB-Funktion, direkt im
SQL, ist es natürlich "optimaler".
Result := FormatDateTime('MMMM',aDatum-1);
Ihhh, ein nichtssagendes -1 ... dafür gibt es doch
IncDay(xxx, -1)
(letzter Tag im Vormonat), bzw. eigentlich
IncMonth(xxx, -1)
(erster Tag des Vormonat).
Genau genommen ist deine -1 "ein Tag vorher" und nicht "ein Monat vorher", aber da du dir vorher den Monatsanfang zusammenbaust und zum Schluß die Tage ignorierst, passt es schon.
Funktional richtig, aber "eigentlich" er will ja den "Vormonat" und nicht den "Vortag" (vom Anfang des aktuellen Monat).
Und nein, ein
DecMonth(xxx)
gibt es natürlich nicht.