Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Seltsames Verhalten von StrToDateTime (https://www.delphipraxis.net/63298-seltsames-verhalten-von-strtodatetime.html)

MarcusB 16. Feb 2006 14:55


Seltsames Verhalten von StrToDateTime
 
Hallo,

ich habe einen merkwürdigen Effekt bei der Umwandlung von String- zu Datumswerten.

Delphi-Quellcode:
a := '09.02.06 14:17:10';
t := StrToDateTime(a);
//funktioniert super!

a := '13.02.06 19:43:48';
t := StrToDateTime(a);
//Fehlermeldung! '13.02.06 19:43:48' ist keine gültige Datums- und Uhrzeitangabe!
:gruebel:

Kann mir jemand sagen, warum das so ist????
So richtig logisch ist das nicht, oder :?

H4ndy 16. Feb 2006 15:01

Re: Seltsames Verhalten von StrToDateTime
 
Also in Delphi 5 Professional geht alles :gruebel:

Delphi-Quellcode:
var a: string;
    t: TDateTime;
begin
a := '09.02.06 14:17:10';
t := StrToDateTime(a);
ShowMessage(DateTimeToStr(t));

a := '13.02.06 19:43:48';
t := StrToDateTime(a);
ShowMessage(DateTimeToStr(t));
Es werden auch die korrekten Daten wieder angezeigt nach der Ruckumwandlung.

Edit:
Ich probieres heute Abend @ home mal mit Delphi '05 PE aus

Angel4585 16. Feb 2006 15:03

Re: Seltsames Verhalten von StrToDateTime
 
Bei mir(D2005Prof) geht au alles, hast das 1 zu 1 rüberkopiert? wenn nicht schau nochmal im Original ob du nicht einen kleinen Fehler eingebaut hast

himitsu 16. Feb 2006 15:12

Re: Seltsames Verhalten von StrToDateTime
 
Also funktionieren sollte es, wenn Tag.Monat.Jahr als Standard-Datums-Format eingestellt ist.

Bei Monat.Tag.Jahr, was ich mir derzeit als einzigen Fehler vorstellen kann (abgesehn von Angel's Hinweis), gibt's ja keinen 13. Monat.

Frank Borland 16. Feb 2006 15:13

Re: Seltsames Verhalten von StrToDateTime
 
Moin, moin,

StrToDateTime() greift nach den lokalen Einstellungen. Für solche Operationen würde ich immer eine separate Konfiguration vorsehen: Irgendjemand möchte in Excel was schön aussehen lassen und das Programm fliegt dann aus der Kurve :-)

Gruß


Malte

MarcusB 16. Feb 2006 15:24

Re: Seltsames Verhalten von StrToDateTime
 
Wow, ihr seid wieder mal schnell :thumb:

Ich habe den Fehler gefunden:

Das Datum bekomme ich aus einem Textfile und bei manchen ist das Leerzeichen zwischen Datum und Uhrzeit kein Leerzeichen (chr(32)) sondern irgendein Steuerzeichen und da ist die Funktion dann drübergestolpert. :wall:

Aber vielen Dank trotzdem, ich wär fast verzweifelt!


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