Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zeitvergleich hat Problem mit Mitternacht... (https://www.delphipraxis.net/102554-zeitvergleich-hat-problem-mit-mitternacht.html)

Bastler 30. Okt 2007 22:22


Zeitvergleich hat Problem mit Mitternacht...
 
Hallo zusammen;

Ich möchte einen DatetimePicker daraufhin überprüfen, ob das Datum in der Vergangenheit liegt:

Delphi-Quellcode:
if zeit.Time < now then
  Messagedlg('Termin liegt in der Vergangenheit', mtError, [mbOk], 0)
else //...
Wobei zeit vom Typ TDatetimePicker ist...
Wenn ich jetzt z.B. den Picker auf 00:10:45 stelle und es 23:58:00 ist, erscheint der MessageDlg.
Ich bin bisher davon ausgegangen, dass ich TDateTime-Werte auch "einfach vergelichen" kann, da es ja eigentlich Zahlen sind wobei die Nachkommastellen die Uhrzeit repräsentieren.
(Habe auch schon habe auch schon probiert mit Date und Datetime zu vergelichen, beides leider erfolglos)...

Mache ich irgendetwas falsch oder muss ich diese Mitternachtshürde einfach manuel abfangen?

Danke schonmal für alle Antworten :thumb:

dominikkv 30. Okt 2007 22:26

Re: Zeitvergleich hat Problem mit Mitternacht...
 
Delphi-Quellcode:
if zeit.DateTime < now then

Bastler 30. Okt 2007 22:34

Re: Zeitvergleich hat Problem mit Mitternacht...
 
Zitat:

Zitat von Bastler
(Habe auch schon habe auch schon probiert mit Date und Datetime zu vergelichen, beides leider erfolglos)...

Klappt leider auch nicht, dachte ich auch, wäre ja evtl. ganz naheliegend den Datumsanteil mitzuvergelichen...

dominikkv 30. Okt 2007 22:43

Re: Zeitvergleich hat Problem mit Mitternacht...
 
oh -.- hab ich übersehen :oops:
überprüf mal ob du auch wirklich das richtige datum hast... zB mit
Delphi-Quellcode:
showmessage(DateTimeToStr(Zeit.DateTime));
if zeit.DateTime < now then
  Messagedlg('Termin liegt in der Vergangenheit', mtError, [mbOk], 0)
else //...

oki 30. Okt 2007 22:47

Re: Zeitvergleich hat Problem mit Mitternacht...
 
Hi,

Now ist vom Typ TDateTime. Wenn in deinem DateTimePicker das korrekte Datum und die korrekte Zeit eingetragen ist, dann ergibt der Vergleich wie ihn dominikkv gezeigt gat auch das korrekte Ergebnis. Bei TDateTime sind die Ganzzahligen Anteile die ganzen Tage und der Nachkommaanteil die Zeit.

Gruß oki

Bastler 31. Okt 2007 10:01

Re: Zeitvergleich hat Problem mit Mitternacht...
 
hmmmm... das problem ist, dass er beim umstellen von 23 auf 00 ja das Datum selber nicht hochzählt... er weiß also nich das wenn ich von 23:00 auf 00:00 springe das Datum auch von d.m.y auf d+1.m.y springen soll...

Gibts da n einfachen Trick? Oder muss ich das "manuell" abfangen...

DeddyH 31. Okt 2007 10:05

Re: Zeitvergleich hat Problem mit Mitternacht...
 
Zitat:

Zitat von bastler
hmmmm... das problem ist, dass er beim umstellen von 23 auf 00 ja das Datum selber nicht hochzählt...

Wer zählt was nicht hoch? :gruebel:

Bastler 31. Okt 2007 10:15

Re: Zeitvergleich hat Problem mit Mitternacht...
 
Der Timepicker das Datum...wenn ich die Uhrzeit von 23.00 auf 00.01 stelle

DeddyH 31. Okt 2007 10:17

Re: Zeitvergleich hat Problem mit Mitternacht...
 
Wieso sollte er auch? Ein DateTimePicker hat die Properties Date und Time. Wenn er bei Änderung der einen die andere gleich mitändern würde, wäre er nicht zu gebrauchen.

oki 31. Okt 2007 19:47

Re: Zeitvergleich hat Problem mit Mitternacht...
 
Zitat:

Zitat von Bastler
hmmmm... das problem ist, dass er beim umstellen von 23 auf 00 ja das Datum selber nicht hochzählt... er weiß also nich das wenn ich von 23:00 auf 00:00 springe das Datum auch von d.m.y auf d+1.m.y springen soll...

Gibts da n einfachen Trick? Oder muss ich das "manuell" abfangen...

Also da braucht man keinen Trick, wenn du schon die Zeit änderst, wer hindert dich denn daran das Datum mit zu ändern. Mit einem Automatismus könntest du nie die Zeit zurückstellen (z.B. von 23:00 auf 22:00) ohne dass sich das Datum ändert.

Gruß oki


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 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