AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Monat abziehen

Ein Thema von JSB · begonnen am 12. Jan 2005 · letzter Beitrag vom 12. Jan 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#11

Re: Monat abziehen

  Alt 12. Jan 2005, 16:24
Einen Unterschied würds doch IMHO erst machen, wenn du z.B. vom 30.3 einen Monat abziehst.
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#12

Re: Monat abziehen

  Alt 12. Jan 2005, 16:26
jo

ich hab ne kleine function dras gemacht *ggg*

mit schaltjahr und allem

Delphi-Quellcode:
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;
fehler sind möglich, hab aber spontan keine gefunden

ü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;
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#13

Re: Monat abziehen

  Alt 12. Jan 2005, 16:32
Was gefällt dir den an den Funktionen IncDay, IncMonth, IncYear, ... nicht?
Du erfindest da das Rad nochmals.
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#14

Re: Monat abziehen

  Alt 12. Jan 2005, 16:36
An denen gefällt mir net das ich net wusste das sie existieren

aber machen die das mit schaltjahr und so?
alles dabei?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz