Hi Leute,
folgendes Problem:
Code:
DateTimePicker1.MinDate := strtodate('01.01.1900'); // früher geht wohl nicht
// Objektinspektor:
// Kind := dtkDate;
// DateFormat : dfShort
So - wenn ich jetzt bsp. das Jahr 1901 nehme und mit
Code:
FormatDateTime( 'yyyy.mm.dd', StrToDate(datetostr(DateTimePicker1.date)));
so zu einem listenfähigen ISO-date umschreibe, den ich auch wieder mittels
Code:
var datum2 : Tdate;
// S ist das ISO-date als String
Datum2 := EncodeDate ( strtoint(copy(s, 1, 4 )),
strtoint(copy(s, 6, 2 )),
strtoint(copy(s, 9, 2 )) );
S2 := FormatDateTime( datetostr(Datum2), Datum2) ;
rückverwandle, dann bekomme ich bei Jahres-Werten wie 1901, 1933 etc Jahreswerte zurück die 2001, 2033 heißen und glatte 100 Jahre danebenliegen. Mit
Code:
ShortDateFormat := 'dd.mm.yyyy';
fange ich das deutsche Datumsproblem ab. Kollabiert aber sofort, wenn ich meine Rechner auf Gebietsschema UK oder USA ändere. Aber was mache ich, wenn das Ding in England oder den USA läuft?
Gibts ne Möglichkeit das 'ShortDateFormat' länderspezifisch und per Runtoime einzulesen, bzw zu setzen - oder gibts eine andere Möglichkeit?
Danke
Wenn die Programme das machen, wie's wir machen, wären sie unbrauchbar...