Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   String mit UTC in TDateTime (https://www.delphipraxis.net/172897-string-mit-utc-tdatetime.html)

dataspider 28. Jan 2013 08:52

String mit UTC in TDateTime
 
Hi,

ich bekomme aus einer XML - Datei z.B. folgenden String:

2013-01-07T12:51:21.456+01:00

Jetzt wollte ich daraus wie folgt ein DateTime machen:
Delphi-Quellcode:
function TCrefoXML.AsDateTime(ANode: IXMLNode): Variant;
Var
  s: string;
  AFormat: TFormatSettings;
begin
  Result := Null;
  if (ANode <> nil) then
  begin
    s := ANode.Text;
    if s <> '' then
    begin
      AFormat.DateSeparator := '-';
      AFormat.TimeSeparator := ':';
      AFormat.ShortDateFormat := 'yyyy-mm-dd';
      AFormat.LongDateFormat := 'yyyy-mm-dd';
      AFormat.ShortTimeFormat := 'hh:mm';
      AFormat.LongTimeFormat := 'hh:mm:ss';
      Result := StrToDateTime(s, AFormat);
    end;
  end;
end;
Ich erhalte den Fehler, dass der string keine gültige Datums- / Zeitangabe ist.
Liegt das an dem 'T' hiner dem Datum?
Was bedeudet das und was ist mein Fehler?

Frank

tshubaka 28. Jan 2013 09:48

AW: String mit UTC in TDateTime
 
Hi
SELECT convert(varchar, getdate(), 126) – yyyy-mm-ddThh:mm:ss.mmm

– 2008-10-02T10:52:47.513

gruss
Peter

dataspider 28. Jan 2013 10:15

AW: String mit UTC in TDateTime
 
Vielen Dank,

ich habe deine Version nicht getestet, da ich doch eine Lösung gefunden habe.

XMLTimeToDateTime aus XSBuiltIns scheint das richtige Ergebnis zu liefern.


Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz