![]() |
TDateTimePicker und datetostr
Hi Leute,
folgendes Problem:
Code:
So - wenn ich jetzt bsp. das Jahr 1901 nehme und mit
DateTimePicker1.MinDate := strtodate('01.01.1900'); // früher geht wohl nicht
// Objektinspektor: // Kind := dtkDate; // DateFormat : dfShort
Code:
so zu einem listenfähigen ISO-date umschreibe, den ich auch wieder mittels
FormatDateTime( 'yyyy.mm.dd', StrToDate(datetostr(DateTimePicker1.date)));
Code:
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
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) ;
Code:
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?
ShortDateFormat := 'dd.mm.yyyy';
Gibts ne Möglichkeit das 'ShortDateFormat' länderspezifisch und per Runtoime einzulesen, bzw zu setzen - oder gibts eine andere Möglichkeit? Danke |
Re: TDateTimePicker und datetostr
Das liegt bestimmt an dem DateFormat = dfShort ... ich weiß es jetzt zwar nicht genau (kenn diese Komponente kaum), aber ich vermute mal, daß dadurch das Jahr nur 2-stellig gehandhabt wird
und bei 2 stellig geht es halt nur in einem bestimmten Bereich (aktuell wohl zwischen 1950 und 2049 - dieser Bereich kann irgendwo im Programm und Windows eingestellt werden und wird standardmäßig von Windows übernommen), da dort ja die Jahrhundertangabe fehlt. Du solltest also bei DateFormat etwas mit long verwenden, also die Unterstützung für 4-ställige Jahreszahlen aktivieren. Dann ist DateTime auch in dem vollen Bereich nutzbar ^^
Code:
TDateTime Double Number of days since 30.12.1899 00:00
01.01.0001 - 31.12.9999 (-693593,99999..2958465,99999) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 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