Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#13

Re: den unterschied zweier Datum-Werte berechnen

  Alt 22. Apr 2005, 15:10
Zitat von jonny:
Ich möchte gerne zwei Datum-Werte mit einander vergleichen und den Unterschied zurückbekommen.

Beispiel ich gebe heutieges Datum ein 22.04.2005 und ein belibieges Datum in der Vergangenheit z.B. 28.02.2004 und zurück möchte ich gerne 23.01.0001 erhalten.
Ein Differenz zwischen zwei Datum-Werte kann nur in Tagen, Stunden, Minuten oder Sekunden angegeben werden !
Die Angabe von Monaten oder Jahren kann nur ein Schätzwert sein, da Monate & Jahre unterschiedliche viele Tage haben.
Man kann natürlich mit diesen Schätz-Werten arbeiten: 1 Jahr=365Tage, 1 Monat=30Tage.

Delphi-Quellcode:
procedure ZeitSpanneExpand(var zeit : Double; var jahre, monate:Integer);
begin
   jahre := 0;
   while zeit >= 365.0 do
   begin
      zeit := zeit -365.0;
      Inc(jahre);
   end;
   monate := 0;
   while zeit >= 30.0 do
   begin
      zeit := zeit -30.0;
      Inc(monate);
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  d1, d2 : TDateTime;
  diff : Double;
   jahre, monate:Integer;
begin
   d1 := Now;
   d2 := StrToDateTime('13.7.1914');

   diff := d1-d2; // Differenz in Tagen

   ZeitSpanneExpand(diff, jahre, monate);

   ShowMessageFmt('%d Jahre; %d Monate; %2.1f Tage', [jahre, monate, diff]);
end;
Andreas
  Mit Zitat antworten Zitat