Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.623 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: TryStrToDateTime fehlerhaft?

  Alt 24. Okt 2024, 09:29
Delphi XE2
Windows 7

Delphi-Quellcode:
var DT:TDateTime;
begin
   if TryStrToDateTime('1.1.20255',DT) then begin
      ShowMessage(FormatDateTime('dd.mm.yyyy hh:nn:ss.zzz',DT));
   end else begin
      ShowMessage('Fehler');
   end;
end;
Ergibt "01.01.2025 00:00:00.000".
Ich hätte erwartet, dass die Jahreszahl "20255" zu einem Fehler führt.
Ich hätte die Ausgabe "01.01.20255 00:00:00.000" erwartet, denn 20255 ist ja durchaus ein gültiges Datum. 1.1.2025 ist aber definitiv die falsche Ausgabe. Ob aber jetzt TryStrToDateTime oder FormatDateTime fehlerhaft ist, kann man nur sagen, wenn man den Wert von dt nach der Konvertierung kennt.

Edit: Hm, ich habe es gerade ausprobiert: In Delphi 2007 liefert TryStrToDateTime tatsächlich False.

Laut Doku:
"The maximal correct date supported by TDateTime values is limited to 12/31/9999 23:59:59:999"

Demnach sollte TryStrToDatTime wohl tatsächlich False liefern, wenn es korrekt implementiert ist.
Thomas Mueller
  Mit Zitat antworten Zitat