AGB  ·  Datenschutz  ·  Impressum  







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

TDateTime vergleichen?

Ein Thema von finalr · begonnen am 2. Apr 2008 · letzter Beitrag vom 2. Apr 2008
Antwort Antwort
finalr

Registriert seit: 13. Mär 2008
17 Beiträge
 
#1

TDateTime vergleichen?

  Alt 2. Apr 2008, 08:35
Hi,

ich möchte gerne 2 TDateTime Werte(Format: 2008-1-30 12:01:47) vergleichen.
z.B. in der Art:
Delphi-Quellcode:
var Datum1, Datum2: TDateTime;
begin
 if Datum1 > Datum2 THEN
 BEGIN
   // blub blub
 END;
end;
Aber das funktioniert nicht wirklich. Jemand einen Vorschlag?

Gruss Daniel
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: TDateTime vergleichen?

  Alt 2. Apr 2008, 08:39
Zitat:
TDateTime Werte(Format: 2008-1-30 12:01:47)
Nein TDateTime sind Double

Was geht nicht?
Markus Kinzler
  Mit Zitat antworten Zitat
finalr

Registriert seit: 13. Mär 2008
17 Beiträge
 
#3

Re: TDateTime vergleichen?

  Alt 2. Apr 2008, 08:50
Naja, es funktioniert allgemein nicht, wenn ich mir z.B. mit if Datum1 <> Datum2 then ShowMessage('lol'); nur alle unterschiedlichen Datumswerte anzeigen lassen möchte.

Da gibt er mir jedes Datum aus auch wenn sie gleich sind!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TDateTime vergleichen?

  Alt 2. Apr 2008, 08:52
Zitat von finalr:
Da gibt er mir jedes Datum aus auch wenn sie gleich sind!
Gleichheitsvergleich bei Doublewerten ist schwer. Entweder du wandelst sie in Strings um Format('yyyy-mm-dd hh:nn', Datum1) um maximal auf Minuten zu vergleichen oder du definierst eine Schwelle (Abs(Datum1-Datum2) > (1/24*60*60) ... wenn unterschied maximal 1 Sekunde betragen darf).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
DelphiKlaus

Registriert seit: 18. Okt 2006
100 Beiträge
 
Delphi 6 Professional
 
#5

Re: TDateTime vergleichen?

  Alt 2. Apr 2008, 08:55
Hallo,

und was funktioniert an dem Vergleich nicht? Probleme gibt's nur beim Vergleich auf Gleichheit, weil, wie mkinzler schon schrieb, TDateTime-Werte letztendlich Double-Werte sind. Da kannst Du z.B. mit einem Epsilon arbeiten:

Delphi-Quellcode:
  if (Datum1 > Datum2 - 1.0 / SecsPerday) and (Datum1 < Datum2 + 1.0 / SecsPerday) then
    ShowMesssage ('Die Werte sind wohl gleich')
MfG

Klaus
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: TDateTime vergleichen?

  Alt 2. Apr 2008, 08:59
TDateTime wird intern als Double verwaltet.
Hierbei ist der Teil vor dem Komma der Datumsanteil, der Rest ist der Zeitanteil.

Somit kannst Du TDateTime-Variablen voneinander abziehen oder addieren.

Für mehr Information schau doch bitte die Delphi-Hilfe an.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
finalr

Registriert seit: 13. Mär 2008
17 Beiträge
 
#7

Re: TDateTime vergleichen?

  Alt 2. Apr 2008, 09:12
ok, danke für die netten Hilfe...
  Mit Zitat antworten Zitat
squetk

Registriert seit: 29. Aug 2004
Ort: Cottbus
118 Beiträge
 
Delphi XE2 Professional
 
#8

Re: TDateTime vergleichen?

  Alt 2. Apr 2008, 23:31
DateUtils.pas :
function CompareDateTime(const A, B: TDateTime): TValueRelationship;
  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 11:19 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