AGB  ·  Datenschutz  ·  Impressum  







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

TryStrToDateTime fehlerhaft?

Ein Thema von Amateurprofi · begonnen am 24. Okt 2024 · letzter Beitrag vom 24. Okt 2024
Antwort Antwort
Benutzerbild von dummzeuch
dummzeuch

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

AW: TryStrToDateTime fehlerhaft?

  Alt 24. Okt 2024, 08: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
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
857 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TryStrToDateTime fehlerhaft?

  Alt 24. Okt 2024, 09:03
Was passiert, wenn Du das Jahr mit 5x y ausgibst? Also:

 ShowMessage(FormatDateTime('dd.mm.yyyyy hh:nn:ss.zzz',DT));
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#3

AW: TryStrToDateTime fehlerhaft?

  Alt 24. Okt 2024, 09:05
probier es?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#4

AW: TryStrToDateTime fehlerhaft?

  Alt 24. Okt 2024, 09:54
Der Scan hört beim Jahr einfach nach maximal vier Ziffern auf und ignoriert den Rest bis zum nächsten Trennsymbol. Ich empfehle daher einen Bugreport.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.087 Beiträge
 
Delphi XE2 Professional
 
#5

AW: TryStrToDateTime fehlerhaft?

  Alt 24. Okt 2024, 11:12
Der Scan hört beim Jahr einfach nach maximal vier Ziffern auf und ignoriert den Rest bis zum nächsten Trennsymbol. Ich empfehle daher einen Bugreport.
Danke, Uwe.
Erscheint mir überflüssig (Delphi XE2), hab es trotzdem gemacht.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#6

AW: TryStrToDateTime fehlerhaft?

  Alt 24. Okt 2024, 11:13
Ist unter 12.2 immer noch so. Daher, Danke!
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 - 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