1
oscat.lib fuer TwinCAT/CoDeSys / Fehler Baustein "MONTH_END"
« 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
*)
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
*)