Seite 1 von 1

Berechnung "Datum des Monats-Letzten berechnen"

Verfasst: 25. September 2006 12:27
von wilfried42x
Hallo,
ich möchte das Datum des Letzten eines Monats berechnet.
Also mit CALCDATE() ...

Danke.

Verfasst: 25. September 2006 12:30
von rotsch
CALCDATE('LM', TODAY) gibt den letzten Tag des Monats anhand des mitgegeben Datums zurück

Verfasst: 25. September 2006 13:55
von jm
Hallo Roger, Hallo Wilfried,

besser wäre CALCDATE('<CM>', TODAY).
Damit bekommt am das gleiche Ergebnis, ist aber sprachunabhängig.

MfG
Josef Metz

Verfasst: 25. September 2006 15:44
von rotsch
Danke für den Hinweis, Josef. Du hast natürlich völlig recht.

Verfasst: 29. März 2007 15:08
von Alez
jm hat geschrieben:Hallo Roger, Hallo Wilfried,

besser wäre CALCDATE('<CM>', TODAY).
Damit bekommt am das gleiche Ergebnis, ist aber sprachunabhängig.

MfG
Josef Metz


Hallo Josef,

danke vielmals für den Tipp mit den <>. Ich bin hier grad schier verzweifelt beim Versuch einen Report mit verschiedenen Sprachcodes und einer Datumsformel anzupassen...

Gruß
Alez

Verfasst: 10. April 2007 14:15
von Natalie
Kann mir jemand erklären, WIE(SO)
Code:
Monatsletzter := CALCDATE('<CM>', TODAY)

funktioniert?
CM ist doch der laufende Monat; woher kommt jetzt die Info mit dem MonatsLETZTEN?

Verfasst: 10. April 2007 14:31
von jm
Hallo Natalie,

schau doch mal im Application Designers Guide auf Seite 481.
(+)CM bedeutet Ende des laufenden Monats,
-CM bedeutet Anfang des laufenden Monats.

Verfasst: 10. April 2007 14:56
von Natalie
Daaaanke! :-)

Verfasst: 3. Juli 2007 10:57
von Alez
Hallo zusammen,

ich bin heute über ein Problem mit <CM> gestolpert. Ich habe folgende Formel, mit der ich immer den Monatsletzten ausgeben will (i ist ein Zähler für die Anzahl der Monate):
Code:
CALCDATE(STRSUBSTNO('%1M - 1M + LM',i),StartDate)

Ich dachte mir jetzt, um die keine Probleme mit anderen Sprachen zu bekommen, dass ich 'LM' durch '<CM>' ersetzen, aber sobald ich den Report ausführe, kommt die angehängte Fehlermeldung. Ich versteh bloß nicht warum...

Und eins würde mich noch interessieren, kann ich sicher sein, dass ich jetzt wirklich den Monatsletzten habe? Mit ist aufgefallen, wenn ich die Formel z.B. folgendermaßen veränder, nimmt er teilweise das falsche Datum:
Code:
CALCDATE(STRSUBSTNO('%1M + LM - 1M',i),StartDate)


Danke schonmal
Alez

Verfasst: 3. Juli 2007 11:32
von jm
Hallo,
versuchs doch mal mit
Code:
CALCDATE(STRSUBSTNO('<%1M + CM>',i-1))

Verfasst: 3. Juli 2007 11:50
von Alez
Cool danke, damit funktioniert es :-) Ich wusste/dachte nicht, dass ich den kompletten String in <> setzen muss...

Und das mit dem Monat abziehen sieht so auch besser aus, danke :-)

Alez

Re: Berechnung "Datum des Monats-Letzten berechnen"

Verfasst: 29. August 2025 11:57
von anne28
Hallo Wilfried,

das geht recht einfach, du musst nicht direkt mit einem fixen Monatsende-Datum arbeiten, sondern kannst dir den letzten Tag des Monats über einen kleinen Trick berechnen:

Nimm den ersten Tag des Folgemonats und zieh einen Tag ab.

Beispiel (Pseudocode):

CALCDATE('-1D', CALCDATE('<CM+1M>', <Datum>))

<CM+1M> liefert dir den ersten Tag des nächsten Monats

-1D zieht dann einen Tag ab → Ergebnis ist der Monatsletzte des ursprünglichen Datums.

So bekommst du immer den 28., 29., 30. oder 31., je nachdem wie viele Tage der Monat tatsächlich hat.

Falls du öfter mit Datumsberechnungen arbeitest: Ein Datumsrechner online kann auch praktisch sein, wenn man schnell mal Tage addieren, Monate verschieben oder Zeiträume berechnen möchte – ähnlich wie es hier mit CALCDATE() passiert, nur ohne Programmierlogik.

Viele Grüße

Re: Berechnung "Datum des Monats-Letzten berechnen"

Verfasst: 2. September 2025 18:26
von Anke S.
Hallo anne 28

Du antwortest auf einen Beitrag aus dem Jahr 2006....für die Version NAV 4.0
ist Dir das bewusst (?)....

VG Anke

Re: Berechnung "Datum des Monats-Letzten berechnen"

Verfasst: 2. September 2025 20:49
von enh
Warum so kompliziert? <+CM> liefert den Monatsletzten, <-CM> den ersten des aktuellen Monats. Da muss man nicht einen Monat draufrechnen und dann wieder einen Tag abziehen...

Re: Berechnung "Datum des Monats-Letzten berechnen"

Verfasst: 3. September 2025 08:05
von McClane
Zumal das ja nicht mal korrekt ist:
anne28 hat geschrieben:<CM+1M> liefert dir den ersten Tag des nächsten Monats


Mir scheint, der Beitrag sollte nur Besucher auf die verlinkte Seite locken.

Re: Berechnung "Datum des Monats-Letzten berechnen"

Verfasst: 3. September 2025 08:27
von fiddi
Hallo,

ich fürchte, da hat jemand KI ausprobiert. Werde mal einen kleinen Test machen. 8-)

Gruß Fiddi