![]() |
Re: Monat abziehen
Einen Unterschied würds doch IMHO erst machen, wenn du z.B. vom 30.3 einen Monat abziehst.
|
Re: Monat abziehen
jo
ich hab ne kleine function dras gemacht *ggg* mit schaltjahr und allem
Delphi-Quellcode:
fehler sind möglich, hab aber spontan keine gefunden ;)
function Schaltjahr(Year:Integer):Boolean;
begin Result:=((Year Mod 4 = 0) or (Year Mod 400 = 0)) and not (Year Mod 100 = 0); end; function ChangeDate(Value:TDateTime; DayChange, MonthChange, YearChange: Integer):TDateTime; var Temp: String; Mon, Year, Day:Integer; begin Temp:=DateTimeToStr(Value); Day:=StrToInt(copy(Temp,1,2)); Mon:=StrToInt(copy(Temp,4,2)); Year:=StrToInt(copy(Temp,7,4)); Day:=Day+DayChange; Mon:=Mon+MonthChange; Year:=Year+YearChange; if Day=0 then begin Dec(Mon); Case Mon of 1,3,5,7,8,10: Day:=31; 4,6,9,11: Day:=30; 2:if Schaltjahr(Year) then Day:=29 else Day:=28; end; end; if Mon=0 then begin Mon:=12; Dec(Year); end; Temp:=IntToStr(Day)+'.'+IntToStr(Mon)+'.'+IntToStr(Year); Result:=StrToDateTime(Temp)+(Value-Trunc(Value)); end; übergeben wird ein DateTime-Wert bei den werten Value,0,2,-1 wird value um 2 moinate nach vorne und 1 jahr nach hinten versetzt und zurückgegeben aufruf zb so
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Value: TDateTime; begin Value:=DateTimePicker1.DateTime; Value:=ChangeDate(Value,0,-1,0); ShowMessage(DateTimeToStr(Value)); end; |
Re: Monat abziehen
Was gefällt dir den an den Funktionen IncDay, IncMonth, IncYear, ... nicht?
Du erfindest da das Rad nochmals. |
Re: Monat abziehen
An denen gefällt mir net das ich net wusste das sie existieren :mrgreen:
aber machen die das mit schaltjahr und so? alles dabei? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 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