AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi DatumZeit - DatumZeit = Rest In Tagen Stund Minuten Sekunden
Thema durchsuchen
Ansicht
Themen-Optionen

DatumZeit - DatumZeit = Rest In Tagen Stund Minuten Sekunden

Ein Thema von Karstadt · begonnen am 8. Mär 2006 · letzter Beitrag vom 8. Mär 2006
Antwort Antwort
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#1

DatumZeit - DatumZeit = Rest In Tagen Stund Minuten Sekunden

  Alt 8. Mär 2006, 08:38
Hallo.

Gibt es eine Funktion in D7 die mir eine DatumZeit Wert aus zwei DatumZeit wert ausrechnet.

z.B.

Angenommen am 01.01.06 8:00
Abgegeben am 05.01.06 10:00

Dauer 4 Tage und 2 Stunden (gibt das als eine Funktion)
  Mit Zitat antworten Zitat
Benutzerbild von Grishnak
Grishnak

Registriert seit: 15. Sep 2005
Ort: Neu-Ulm
111 Beiträge
 
RAD-Studio 2009 Arc
 
#2

Re: DatumZeit - DatumZeit = Rest In Tagen Stund Minuten Seku

  Alt 8. Mär 2006, 08:56
TDateTime ist ja eine Fließkommazahl; wenn du die Differenz zweier TDateTime bildest, dann hast du die Differenz in Tagen. Für 4 Tage und 2 Stunden wären das: 4,08333333.

Suche mal in der Delphi-Hilfe nach z.B. der Funktion "DaysBetween()" oder "HoursBetween()" etc.
Mach' etwas idiotensicher und irgendjemand erfindet einen besseren Idioten!
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: DatumZeit - DatumZeit = Rest In Tagen Stund Minuten Seku

  Alt 8. Mär 2006, 10:27
So könnte es gehen:
Delphi-Quellcode:
uses DateUtils, Math;

{$R *.dfm}
procedure DisplayTimeDiff(ANow, AThen : TDateTime);
var
   TimeValues : array [0..3] of word;
   dtDiff : TDateTime;
begin
   dtDiff := ANow - AThen+1;
   // Jahre
   if dtDiff < 365 then
      TimeValues[0] := 0
   else
      TimeValues[0] := YearOf(dtDiff);
   // Tage
   TimeValues[1] := DayOf(dtDiff);
   // Stunden
   TimeValues[2] := HourOf(dtDiff);
   // Minuten
   TimeValues[3] := MinuteOf(dtDiff);

   ShowMessage(Format('%d Jahre %d Tage %d Stunden %d Minuten', [TimeValues[0], TimeValues[1], TimeValues[2], TimeValues[3]]));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   dtNeu, dtAlt : TDateTime;
begin
   dtNeu := StrToDateTime('05.01.2006 10:00');
   dtAlt := StrToDateTime('01.01.2006 08:00');
   DisplayTimeDiff(dtNeu, dtAlt);
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#4

Re: DatumZeit - DatumZeit = Rest In Tagen Stund Minuten Seku

  Alt 8. Mär 2006, 10:32
"DayOf" liefert doch nur den tag in dem angegebenen Monat zurück oder?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: DatumZeit - DatumZeit = Rest In Tagen Stund Minuten Seku

  Alt 8. Mär 2006, 10:53
Zitat von Angel4585:
"DayOf" liefert doch nur den tag in dem angegebenen Monat zurück oder?
Du hast Recht. Besser ist es so:
Delphi-Quellcode:
procedure DisplayTimeDiff(ANow, AThen : TDateTime);
var
   TimeValues : array [0..4] of word;
   dtDiff : TDateTime;
begin
   TimeValues[0] := trunc(ANow-AThen);
   dtDiff := Frac(ANow-AThen);
   DecodeTime(dtDiff, TimeValues[1], TimeValues[2], TimeValues[3], TimeValues[4]);
   ShowMessage(Format('%d Tage %d Stunden %d Minuten', [TimeValues[0],TimeValues[1],TimeValues[2]));
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  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 17:29 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