![]() |
Delphi-Version: 2010
String nach TDateTime wandeln
Hallo! :)
Ich arbeite mit dem Windows Task Scheduler und bekomme von einem Objekt der Klasse IDailyTrigger einen String mit einem Zeitstempel. Auf meinem Rechner sieht der so aus: 2012-08-02T15:01:33 Wenn ich den über StrToDateTime konvertieren möchte, bekomme ich folgende Meldung: --------------------------- '2012-08-02T15:01:33' ist keine gültige Datums- und Uhrzeitangabe. --------------------------- Ich vermute, dass man den String auf jedem System in diesem Format bekommt, da ich ein anderes Datumsformat eingestellt habe. Aber wie wandel ich den jetzt um? Gibt es ein Pendant zu FormatDatetime bei dem ich ja das Format mit angeben kann? |
AW: String nach TDateTime wandeln
In neueren Delphiversionen gibt es überladene Versionen, bei denen man als weiteren Parameter das Format angeben kann.
|
AW: String nach TDateTime wandeln
Für uralte Versionen und komplett ohne ordentliche Prüfung:
Delphi-Quellcode:
function XMLTimestampToDateTime(dts: string): TDateTime;
var y, m, d, h, n, s: Integer; // 12345678901234567890 // YYYY-MM-DD HH:NN:SS begin y := StrToIntDef(Copy(dts, 1, 4), 0); m := StrToIntDef(Copy(dts, 6, 2), 0); d := StrToIntDef(Copy(dts, 9, 2), 0); h := StrToIntDef(Copy(dts, 12, 2), 0); n := StrToIntDef(Copy(dts, 15, 2), 0); s := StrToIntDef(Copy(dts, 18, 2), 0); Result := EncodeDate(y, m, d) + EncodeTime(h, n, s, 0); end; |
AW: String nach TDateTime wandeln
Vielen Dank Ihr beide :)
Ja ich kann auch das Format mit geben, als TFormatSettings, aber irgendwie funktioniert das nicht wie ich will. Hab zwar die einzelnen Date und Time Formate entsprechend eingestellt aber trotzdem kommt die gleiche Meldung. Naja hab jetzt das von Iwo Asnet genommen und das geht. |
AW: String nach TDateTime wandeln
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 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 by Thomas Breitkreuz