AGB  ·  Datenschutz  ·  Impressum  







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

Datum ohne Zeit vergleichen

Ein Thema von CalganX · begonnen am 31. Jan 2005 · letzter Beitrag vom 1. Feb 2005
Antwort Antwort
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Datum ohne Zeit vergleichen

  Alt 31. Jan 2005, 21:41
Hi,
ich möchte gerne zwei Daten (Plural von Datum ) vergleichen, allerdings ohne die Zeit (also den Nachkommastellen).

Wie stellt man das am dümmsten (Ironie ) an?

Chris
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Datum ohne Zeit vergleichen

  Alt 31. Jan 2005, 21:44
Hallo Chak,

sieh dir mal Delphi-Referenz durchsuchenTrunc an. Das sollte fuer deine Zwecke gerade dumm genug sein.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Datum ohne Zeit vergleichen

  Alt 31. Jan 2005, 21:45
Hi,
die Funktion nutze ich bereits, allerdings um die Zeit ohne Datum zu vergleichen.
Ist genau das Gegenteil von dem was ich erreichen will, denn trunc schneidet ja alles vor dem Komma ab.

Chris
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Datum ohne Zeit vergleichen

  Alt 31. Jan 2005, 21:46
Delphi-Quellcode:
var D1,
    D2 : TDate;

begin
  D1 := Today;
  D2 := Today - 1;
  showmessage (BoolToStr (D1 > D2,true));
end;
Die Funktion ergibt in diesem Fall immer TRUE !
Gruß
Hansa
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Datum ohne Zeit vergleichen

  Alt 31. Jan 2005, 21:50
Hi Hansa,
ich bin zwar schon etwas müde, aber irgendwie ist mir klar, dass dein Quelltext immer true liefern wird.
Es geht aber um folgendes: ich habe ein Datum. Und ich möchte nun wissen, ob dieses Datum ungleich heute ist. Sprich gestern oder älter. Das Problem bei einem einfachen <= ist einfach, dass ich einen DateTime-Wert habe und deswegen ich ebenfalls ein "gestern" bekomme, wenn dieses Datum nur eine Minute zurückliegt.
Deswegen will ich die Zeit abschneiden und nur das Datum betrachten.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: Datum ohne Zeit vergleichen

  Alt 31. Jan 2005, 21:53
Hallo Chris,

Zitat von Chakotay1308:
Ist genau das Gegenteil von dem was ich erreichen will, denn trunc schneidet ja alles vor dem Komma ab.
entweder ich hab was falsch verstanden oder du hast das
AFAIR schneidet Trunc alles nach dem Komma ab:
Code:
Trunc(34.567) = 34
Frac hingegen schneidet alles vor dem Komma ab:
Code:
Frac(34.567) = 0.567
Also benoetigst du Frac um Zeiten zu vergleichen, Trunc um Daten zu vergleichen.

Greetz
alcaeus

PS: Falls ich falsch liegen sollte, dann sagt es mir bitte, aber meine Erinnerung sagt mir das was ich grad geschrieben habe
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Datum ohne Zeit vergleichen

  Alt 31. Jan 2005, 21:55
Hi,
och nö... Schon wieder einen Fehler gemacht.

Du hast natürlich vollkommen Recht, Andreas.

Danke für deine Hilfe,
Chris
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#8

Re: Datum ohne Zeit vergleichen

  Alt 1. Feb 2005, 09:27
Hi,

in der Unit DateUtils gibt's auch Routinen wie TimeOf, DateOf usw., die genau dafür da sind (ab D7 glaub ich)
(dahinter steckt freilich auch Trunc, Frac usw.)

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Datum ohne Zeit vergleichen

  Alt 1. Feb 2005, 10:14
Zitat von alcaeus:
AFAIR schneidet Trunc alles nach dem Komma ab:
Code:
Trunc(34.567) = 34
Genaugenommen müsste man die ziemlich unbekannte Funktion
function Int(X: Extended): Extended; benützen.
Denn so bleibt man im Bereich der Fliesskommazahlen und muss nicht in ein paar hundert Milliarden Jahren einen Integerüberlauf befürchten.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#10

Re: Datum ohne Zeit vergleichen

  Alt 1. Feb 2005, 12:51
Zitat von shmia:
Zitat von alcaeus:
AFAIR schneidet Trunc alles nach dem Komma ab:
Code:
Trunc(34.567) = 34
Genaugenommen müsste man die ziemlich unbekannte Funktion
function Int(X: Extended): Extended; benützen.
Denn so bleibt man im Bereich der Fliesskommazahlen und muss nicht in ein paar hundert Milliarden Jahren einen Integerüberlauf befürchten.
Ist aber auch gefährlich, da man Fließkommazahlen nicht unbedingt auf GLeichheit vergleichen kann. (Wegen der Ungenauigkeit)
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  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 05:34 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