Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi abstand zwischen Tagen (https://www.delphipraxis.net/94105-abstand-zwischen-tagen.html)

Chaismo 16. Jun 2007 09:43


abstand zwischen Tagen
 
Tag an alle!
Ich würde gern mal wissen wie ich den Abstand zwischen 2 Tagen berechnen kann?
am besten über den TDateTimePicker aber nicht nur...sondern zum BEsipiel will ich in meinem Programm auch die Termine für Ferien etc. festlegen und beim start soll er dann eben schon gleich anzeigen, wieviele Tage es noch dauert.
Kann mir das jemand erklären?
Mir würde ja schon en Beispiel mit dem DateTimePicker reichen damit ich es dann auch wenigstens verstehe^^
MFG Chaismo :coder:

arbu man 16. Jun 2007 09:46

Re: abstand zwischen Tagen
 
Schau dir mal die Funktion DayBetween der Unit DateUtils an...

pacman1986 16. Jun 2007 10:48

Re: abstand zwischen Tagen
 
2 te möglichkeit = subtrahieren.

wie wir wissen ist die tdatetime variable ein float wert im sinne von

39249,4885485301

wobei die zahl vor dem komma die Tage angibt. (rechts die uhrzeit)

also sind ~ 39249,5 seit dem 30.12.1899 vergangen. daraus kann man sich ein spass machen im sinne von

Delphi-Quellcode:
Ergebniss := round(TagInDerZukunft-Now());
aber ich gebe zu die idee von arbu man ist besser ^^

Ravus80 16. Jun 2007 12:17

Re: abstand zwischen Tagen
 
Hallo,

ich habe mal folgende Funktion gefunden.
Delphi-Quellcode:
function DateTimeDiff(date1, date2: TDateTime): string;
var days, hours, minutes, secs: integer;
  difference: real;
begin
  difference:=date2-date1;
  days:=round(difference-Frac(difference));
  difference:=Frac(difference)*24;
  hours:=round(difference-Frac(difference));
  difference:=Frac(difference)*60;
  minutes:=round(difference-Frac(difference));
  difference:=Frac(difference)*60;
  secs:=round(difference-Frac(difference));
  result:=IntToStr(days)+' Tage, '+IntToStr(hours)+' Stunden, '+IntToStr(minutes)+
  ' Minuten, '+IntToStr(secs)+' Sekunden';
end;
Die ist nicht von mir. Wahrscheinlich funktioniert sie deshalb so gut. ;)

bis dann
Ravus

Chaismo 16. Jun 2007 23:19

Re: abstand zwischen Tagen
 
Also die Funktion von pacman gefällt mir allerdings am besten da diese schön einfach is...und die werd ich gleichmal ausprobieren^^
Danke für die Ideen! :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:51 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