AGB  ·  Datenschutz  ·  Impressum  







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

DateUtils Problem

Ein Thema von mOzZzI · begonnen am 6. Jun 2006 · letzter Beitrag vom 7. Jun 2006
Antwort Antwort
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#1

Re: DateUtils Problem

  Alt 7. Jun 2006, 06:22
Hallo Philipp,

in Beitrag #3 hat Hawkeye dir zwei Dinge gezeigt:

(1) Die Zeitspanne zwischen zwei Zeitpunkten kann in Delphi einfach durch Differenzbildung bestimmt werden:

(2) Auch wenn das Ergebnis eine Zeitspanne darstellt und keinen Zeitpunkt, kann für die Darstellung problemlos das übliche Zeitformat verwendet werden.

Delphi-Quellcode:
var
  sDiff: String;
  dtDiff, dtEvent: TDateTime;
begin
  dtDiff := dtEvent - Now;
  sDiff := TimeToStr(dtDiff);
end;
Dabei verwendet die Funktion TimeToStr() nur den Zeitanteil von dtDiff, welcher Frac(dtDiff) ist. Der Datumsanteil Trunc(dtDiff) kann nicht so einfach mit DateToStr() sichtbar gemacht werden, da hier eine andere Semantik vorliegt. Dieser Wert repräsentiert die Anzahl von ganzen Tagen zwischen zwei Zeitpunkten. Du kannst ihn z.B. als Kombination von Tagen und Wochen darstellen:

Delphi-Quellcode:
function DaysToWeeks(n: Integer): String;
var
  nDays, nWeeks: Word;
  bPast: Boolean;
  sWeeks, sDays: String;
begin
  bPast := n < 0;
  n := Abs(n);
  DivMod(n, 7, nWeeks, nDays);
  if n = 0 then Result := 'else
  begin
    sWeeks := IfThen(nWeeks = 0, '',
      IfThen(nWeeks = 1, '1 Woche ', Format('%d Wochen ', [nWeeks])));
    sDays := IfThen(nDays = 0, '',
      IfThen(nDays = 1, '1 Tag ', Format('%d Tage ', [nDays])));
    Result := IfThen(bPast, 'vor ', 'noch ') + sWeeks + sDays;
  end;
end;
Getippt und nicht getestet.

Grüße vom marabu

Edit: Jetzt schon ein wenig getestet...
  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 10:57 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