Einzelnen Beitrag anzeigen

jaikai

Registriert seit: 1. Jun 2005
70 Beiträge
 
#1

TDateTimePicker und datetostr

  Alt 15. Nov 2005, 22:00
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...
  Mit Zitat antworten Zitat