Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - StrToDate - er möcht das Datum nicht konvertieren, meint er


ShadowThief - Mi 23.07.03 11:17
Titel: StrToDate - er möcht das Datum nicht konvertieren, meint er
hallo,

ich wollte in einer TDate-variable, den 1. tag des aktuellen monats speichern und hab mir dazu die folgenden 2 zeilen ausgedacht.

Delphi-Quelltext
1:
2:
    str := '01.' + FormatDateTime('mm.yyyy', Now);
    date := StrToDate(str);

problem: es geht nicht. fehlermeldung: '01.07.2003' ist kein gülter datums-wert. gut, dann hab ich so lange rumprobiert, bis ich rausgefunden hab, dass

Delphi-Quelltext
1:
2:
    str := FormatDateTime('yyyy-mm', Now) + '-01';
    date := StrToDate(str);

funktioniert.

jetzt fragte ich mich halt so, wo man das datumsformat einstellen kann, und hab prompt mal F1 gedrückt, dort wurde mir gesagt, ich kann das format in der globalen variable ShortDateFormat reinschreiben, jedoch kommt immer wieder der gleiche fehler, egal, was ich da hinein schreibe.

woran liegt das?

thx.
shadow.


Peter2002 - Mi 23.07.03 11:49

ich vermute mal du hast auf deinem rechner das Datumsformat YYYY-MM-DD eingestellt... deshalb funktionert es auch
willst du das Datum in einem anderen Format darstellen, muss du auch angeben, wie dieses denn aus sieht

Delphi-Quelltext
1:
2:
3:
4:
DateSeparator := '.';  //<==
ShortDateFormat := 'dd.mm.yyyy';  //<==
str := FormatDateTime('01.mm.yyyy', Now);
date := StrToDate(str);


ShadowThief - Mi 23.07.03 11:57

ok, es war der DateSeparator. viele dank. aber es is auch irgendwie blöd, weil man ja schon bei ShortDateFormat die punkte angegeben hat.

na gut, jetzt bin ich schlauer, vielen dank nochmal.
sers.