![]() |
Letzter Tag im Monat (Datum) ermitteln
Hallo zusammen!
Wie kann ich das Datum des letzten Tages in einem Monat ermitteln? Vielen Dank im voraus! Gruß 1PM |
Re: Letzter Tag im Monat (Datum) ermitteln
hallo,
Delphi-Quellcode:
:-) thomas
function GetLastDayofMonth (const DT: TDateTime): TDateTime;
var D, M, Y: Word; begin DecodeDate (DT, Y, M, D); case M of 2: begin if IsLeapYear (Y) then D := 29 else D := 28; end; 4, 6, 9, 11: D := 30 else D := 31; end; Result := EncodeDate (Y, M, D) + Frac (DT); End; function IsLeapYear (Year: Word): Boolean; begin Result := ((Year and 3) = 0) and ((Year mod 100 > 0) or (Year mod 400 = 0)) End; [edit=Admin]Delphi-Tags eingefügt. Mfg, Daniel[/edit] |
Re: Letzter Tag im Monat (Datum) ermitteln
Vielen Dank Merlin! Werde es ausprobieren! :hello:
Gruß 1PM |
Re: Letzter Tag im Monat (Datum) ermitteln
Hallo 1PM,
hier noch ein Vorschlag:
Code:
mfg
function LstDayOfMonth(dt:TDateTime):TDateTime;
var t1,m1,j1 : word; begin DecodeDate(dt,j1,m1,t1); if m1 = 12 then m1 := 1 else inc(m1); t1 := 1; dt := EncodeDate(j1,m1,t1); Result := dt - 1; end; eddy |
Re: Letzter Tag im Monat (Datum) ermitteln
Hallo Leute,
1PM hat mich freundlicherweise auf einen Fehler in meinem Vorschlag hingewiesen. Hier die korrekte Version:
Code:
mfg
function LstDayOfMonth(dt:TDateTime):TDateTime;
var t1,m1,j1 : word; begin DecodeDate(dt,j1,m1,t1); if m1 = 12 then begin m1 := 1; inc(j1); end else inc(m1); t1 := 1; dt := EncodeDate(j1,m1,t1); Result := dt - 1; end; eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz