AGB  ·  Datenschutz  ·  Impressum  







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

Zeitberechnung mit Tagen

Ein Thema von S4SH1981 · begonnen am 18. Dez 2008 · letzter Beitrag vom 18. Dez 2008
Antwort Antwort
S4SH1981

Registriert seit: 13. Jul 2007
59 Beiträge
 
#1

Zeitberechnung mit Tagen

  Alt 18. Dez 2008, 20:05
Delphi-Quellcode:
var
  Date1, Date2, Difference : TDateTime;
begin
  Date1 := StrToDateTime('01.11.2006 10:00:00');
  Date2 := StrToDateTime('02.11.2006 12:15:00');
  Difference := Date2 - Date1;
  ShowMessage (IntToStr(Trunc(Difference * 24)) + FormatDateTime(':nn:ss', Difference));
end;
Dabei zeigt mir das Programm 26:15:00

Ich hätte es aber so, dass es mit 1 Tag 26 Stunden 15 Minuten 00 Sekunden anzeigt.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Zeitberechnung mit Tagen

  Alt 18. Dez 2008, 20:24
Der ganzzahlige Anteil der Differenz ist die Anzahl der Tage.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Zeitberechnung mit Tagen

  Alt 18. Dez 2008, 20:37
Hallo S4SH1981,

Idee:
Das Ergebnis direkt überprüfen ob > 24:
If (Difference * 24) div 24) > 0 then
DaySpan() (function DaySpan(const ANow: TDateTime; const AThen: TDateTime): Double
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Zeitberechnung mit Tagen

  Alt 18. Dez 2008, 20:45
Wenn es um Zeit- oder Datumsberechnungen geht ist ein Blick in die Unit DateUtils immer ratsam
Markus Kinzler
  Mit Zitat antworten Zitat
S4SH1981

Registriert seit: 13. Jul 2007
59 Beiträge
 
#5

Re: Zeitberechnung mit Tagen

  Alt 18. Dez 2008, 20:51
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Date1, Date2, Difference : TDateTime;
begin
  Date1 := datetimepicker1.time;
  Date2 := datetimepicker2.Time;
  Difference := Date2 - Date1;
  edit2.Text := inttostr(trunc(difference * 24));
  edit1.Text:= IntToStr(Trunc(Difference * 24)) + FormatDateTime(':nn:ss', Difference);
end;
Der Datetimepicker1 wird per timer immer mit der aktuellen Zeit versorgt.
per datetimepicker2 gebe ich eine beliebige Zeit ein.

Steht der DTP1 auf 20:48 und ich ich setze den DTP2 auf 0:48
ist die Difference auf -20.
Wie schaffe ich es nun, dass der Datumswechsel miteingerechnet wird.

Klar ist, wenn Difference > 24 then 1 Tag.

Mein Programm soll ein einfacher Shutdown werden, den ich entweder auf eine eingegeben Zeit, oder
auf typische Zeitintervalle einstellen kann.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Zeitberechnung mit Tagen

  Alt 18. Dez 2008, 20:53
Ähem http://www.delphipraxis.net/internal...=977863#977863
Markus Kinzler
  Mit Zitat antworten Zitat
S4SH1981

Registriert seit: 13. Jul 2007
59 Beiträge
 
#7

Re: Zeitberechnung mit Tagen

  Alt 18. Dez 2008, 21:42
Der Link bezieht sich auf mein Posting @ MKinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Zeitberechnung mit Tagen

  Alt 18. Dez 2008, 21:44
Ja auf einen Beitrag von mir
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:20 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