Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi heutisges Datum später/gleich Vorgegebenem (https://www.delphipraxis.net/77927-heutisges-datum-spaeter-gleich-vorgegebenem.html)

Max Langer 26. Sep 2006 20:55


heutisges Datum später/gleich Vorgegebenem
 
Hallo

Ich will das heutige datum mit einem anderen Datum vergleichen und schaun ob dieses gleich oder zurückliegt. z.B liegt heute(26.09.2006) nach 24.09.2006

ich habe es schon mit folgendem versucht:

Delphi-Quellcode:
 if (CompareDateTime((EncodeDate(2006,24,09)),(date))=-1) or (CompareDateTime((EncodeDate(2006,24,09)),(date))=0) then
und

Delphi-Quellcode:
 if Trunc(EncodeDate(2006,24,09))<=Trunc(date) then
und

Delphi-Quellcode:
if (YearOf(date)*100 + MonthOf(date)) >= (YearOf(EncodeDate(2006,24,09))*100 + MonthOf(EncodeDate(2006,24,09))) then

doch bei allem kam folgende Debugger-Expencion:

Im Project Project1.exe ist eine Exception der Klasse EConvertError aufgetreten: 'Ungültiges Argument zum Codieren des Datums'. Process wurde...

An was liegt das??

danke im vorraus

grüße

Max

alzaimar 26. Sep 2006 20:56

Re: heutisges Datum später/gleich Vorgegebenem
 
Delphi-Quellcode:
If MyDate < Now Then ...
If StrToDate('31.12.2005') < Date Then
Und zu deiner Frage: Sicher das Encode date so aufgerufen wird?

mkinzler 26. Sep 2006 20:57

Re: heutisges Datum später/gleich Vorgegebenem
 
Ein jahr hat nummal keine 24 Monate!

Joe_the_Junkie 26. Sep 2006 20:58

Re: heutisges Datum später/gleich Vorgegebenem
 
Bei Encodedate Gilt nicht YYYY,DD,MM sondern YYYY,MM,DD

Das heißt, dass du erst das Jahr, dann den Monat und dann den Tag angeben musst :-D

jensw_2000 26. Sep 2006 20:58

Re: heutisges Datum später/gleich Vorgegebenem
 
Delphi-Quellcode:
uses Dateutils;
...

if isToday(EinTDateTimeWert) then ...

oder

if DaysBetween(EinTDateTimeWert,NochEinTDateTimeWert) = 0 then

rd5pro 26. Sep 2006 21:51

Re: heutisges Datum später/gleich Vorgegebenem
 
Du willst zwei Datums-/Zeitwerte miteinander vergleichen, oder?

Bring die beiden Werte in das gleiche Format.

Das sorgt bei Zeit- und Datumsformaten für wirklich grenzenlosen/grenzüberschreitenden Ärger, schon seit Jahren, Dank Micro§oft's Systemsteuerung.

Word kapiert die Änderungen in der Systemsteuerungen recht schnell, Excel eher nicht. Aber wer rechnet schon oft oder gar mit Word?

Und für Delphi:
Datums- und Zeitwert auslesen, Systemeinstellungen einlesen und dann PARSEN: Den ZeitDatumsstring nach Nullen, Leerzeichen, Punkten, Semikola, Doppelpunkten und Buchstaben durchforsten.

Und die damit ermittelten Zahlen in die richtige Reihenfolge bringen:

Was ist: 06:06:06?

Sechs Uhr sechs und sechs Sekunden? Heute? Oder Wann?

Der Sechste Juni 2006?

Kommt drauf an, wie man die Doppelpunkte interpretiert!

Als (wenn auch frisches/neues) Mitglied der DP würde ich es als "religionsneutralen" Code ansehen, der funktioniert!

Roland

Max Langer 27. Sep 2006 10:43

Re: heutisges Datum später/gleich Vorgegebenem
 
Hey danke Joe_the_Junkie ich hab das mit dem encode falsch gemacht

danke euch allen

Max


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