OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: normalone2018 am 23. März 2018, 22:10:57

Titel: Fehler Baustein "MONTH_END"
Beitrag von: normalone2018 am 23. März 2018, 22:10:57
Hallo zusammen, bin neu im Forum und habe auch bis jetzt noch nie wirklich in Foren geschrieben.
Mir ist nur heute ein Fehler bei der Funktion "MONTH_END" aufgefallen.
Und zwar, gibt die Funktion im Dezember nicht das korrekte Datum für den letzten Tag zurück.
Habs für mich korrigiert und dachte ich schreibs einfach mal.

Bestehender Code:
MONTH_END := DWORD_TO_DATE(DATE_TO_DWORD(SET_DATE(YEAR_OF_DATE(idate),MONTH_OF_DATE(idate)+1,1)) - 86400);

meine Korrektur:
IF MONTH_OF_DATE(idate) = 12 THEN d := 32; ELSE d := 1; END_IF
MONTH_END := DWORD_TO_DATE(DATE_TO_DWORD(SET_DATE(YEAR_OF_DATE(idate),MONTH_OF_DATE(idate)+1,d)) - 86400);

(*
ch   23. march. 2018 rev 1.2

   corrections last day in december
*)

Titel: Re: Fehler Baustein "MONTH_END"
Beitrag von: martin.k am 26. März 2018, 19:26:46
Hallo hier im Forum,

danke für Deinen Beitrag ! Super, weiter so!

Gruß
Martin