Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Differenz zwischen Datum / Uhrzeit (https://www.delphipraxis.net/82927-differenz-zwischen-datum-uhrzeit.html)

Uncle Cracker 22. Dez 2006 15:23

Re: Differenz zwischen Datum / Uhrzeit
 
Doch, aber wenn WeeksBetween zählt immer weiter, auch wenn ein Jahr bereits ein Jahr vergangen ist :(
Ich wüsste aber eben nicht, wie ich die verschiedenen Abfragen einbauen kann, so dass z.B. so ein Ergebniss am Ende herrauskommt: "19 Jahre, 3 Wochen, 4 Tage, 16 Stunden, 32 Minuten, 14 Sekunden"

Irgendein Ergebniss ist immer Falsch...Mit den Jahren funktioniert es mit der Funktion weiteroben einwandfrei, genauso wie mit den Tagen, Stunden, Minuten und Sekunden, jedoch rechnet die Wochenanzeige immer weiter... :/

marabu 22. Dez 2006 16:27

Re: Differenz zwischen Datum / Uhrzeit
 
Hi,

Zitat:

Zitat von Uncle Cracker
... aber WeeksBetween zählt immer weiter...

kein Wunder, wenn du als Zeitspanne für WeeksBetween wieder die Originalzeitspanne (Jetzt, Datum) verwendest. Du musst die untere Grenze des Intervalls weiterschieben:

Delphi-Quellcode:
function AgeStr(dt: TDateTime): String;
var
  dtNow: TDateTime;
  iYears, iWeeks, iDays, iHours, iMinutes, iSeconds: Integer;
begin
  dtNow := Now;
  if dt < dtNow then
  begin
    iYears := YearsBetween(dtNow, dt);
    dt := IncYear(dt, iYears);
    iWeeks := WeeksBetween(dtNow, dt);
    dt := IncWeek(dt, iWeeks);
    iDays := DaysBetween(dtNow, dt);
    IncDay(dt, iDays);
    iHours := HoursBetween(dtNow, dt);
    IncHour(dt, iHours);
    iMinutes := MinutesBetween(dtNow, dt);
    IncMinute(dt, iMinutes);
    iSeconds := SecondsBetween(dtNow, dt);
    Result := '...';
  end else Result := '';
end;
Getippt und nicht getestet.

Freundliche Grüße

Uncle Cracker 23. Dez 2006 11:19

Re: Differenz zwischen Datum / Uhrzeit
 
Geil Danke, es hat funktioniert, nur das du das "dt := " vor "IncHour" etc. vergessen hast...
Das mit dem Abziehen des Datums ist eigentlich ne super Idee :D

Nochmal dickes THX an dich...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:00 Uhr.
Seite 2 von 2     12   

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