AGB  ·  Datenschutz  ·  Impressum  







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

Datumsdifferenz berechnen?

Ein Thema von ThaiSon96 · begonnen am 19. Jan 2014 · letzter Beitrag vom 23. Jan 2014
 
Furtbichler
(Gast)

n/a Beiträge
 
#19

AW: Datumsdifferenz berechnen?

  Alt 21. Jan 2014, 06:09
Was ist denn, wenn ich mehr als 1 Jahr zwischen den beiden Datumsen habe?

Also ich würde das dann so machen (ungetestet):
Delphi-Quellcode:
Function IstEinSchaltjahr(jahr : Integer) : Bool;
begin
        if jahr mod 400 = 0 then Result := 1
   else if jahr mod 100 = 0 then Result := 0
   else if jahr mod 4 = 0 then Result := 1
   else Result := 0;
end;

Function TageImMonat (Monat, Jahr : Integer) : Integer;
Begin
  Case Monat of
    1,3,5,7,8,10,12 : Result := 31;
    4,6,8,10 : Result := 30;
    2 : If IstEinSchaltHahr(Jahr) then
      Result := 29
    else
      Result := 28;
   end
end;
 
Function AnzahlTage (A,B : TDatum) : Integer;
Begin
  If (A.Jahr=B.Jahr) and (A.Monat=B.Monat) then
    result := B.Tag - A.Tag;
    exit;
  end;
  L := A;
// 1. Alle Tage bis zum Monatsende...
  Result := TageImMonat(L.Monat, L.Jahr) - A.Tage;
// 2. Dann alle Monate bis zum Ferienbeginn zusammenzählen
  While (L.Jahr<>B.Jahr) and (L.Monat <> B.Monat) Do Begin
    if L.Monat=12 then begin
      L.Jahr := L.Jahr +1 ;
      L.Monat := 1;
    end
    else L.Monat := L.Monat + 1;
    Result := Result + TageImMonat(L.Monat, L.Jahr);
  end;
// 3. Zum Schluss noch die Tage vom Ferienmonat
  Result := Result + B.Tage;
End;
  Mit Zitat antworten Zitat
 


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 15:13 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