Hoi,
ich hab da ein sehr merkwürdiges Problem. Und zwar versuche ich momentan einen String in ein DateTime zu parsen. Wenn ich diesen aber zurück in einen String parse, bekomme ich ein komplett anderes Datum raus als ich reingeworfen habe. Folgenden Code verwende ich:
Code:
function Unit1.AnyStringToDate(fmt, dt: String) : TDateTime;
var
fs : TFormatSettings;
Begin
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, fs);
fs.DateSeparator := '-';
fs.ShortDateFormat := fmt;
result := StrToDateDef(dt, 0, fs);
End;
mZHIDate := Self.AnyStringToDate('yyyymmdd', mZHISplit[3]);
Wenn ich jetzt z.B. 20180602 reinschmeiße, bekomme ich aus irgendeinem grund 30.12.1899 zurück wenn ich den Datetime anschließend in DateToStr werfe. Hat jemand zufällig ne Idee was ich da falsch mache?
Viele Grüße
Maliko