13 Stimmen

Warum parst DateTime.ParseExact das UTC-Format nicht mit dem nachgestellten Z?

Ein weiteres ParseExact-Problem. Ich versuche, einen UTC-formatierten String in eine Datetime mit dem Format von zu parsen:

"YYYY-MM-DDThh:mm:ss.ssZ"

die im UTC-Format ist, mit dem nachgestellten Z. Ich kann sie aus irgendeinem Grund nicht genau analysieren. Ich habe die benutzerdefinierten Formatzeichenfolgen "u", "s" und "o" sowie mehrere DateTimeStyles und auch handschriftlich ausprobiert. Die Kultur ist unveränderlich.

Aus irgendeinem Grund mag es das Z nicht, das anzeigt, dass es sich um eine UTC-Zeichenkette handelt. Wenn ich es entferne, parst es. Ich würde gerne, mit einer gewissen Genugtuung, loszuwerden, das nachgestellte Z, wie ich weiß, sie sind UTC datetime Zeichenfolgen, aber ich kann nicht. Irgendwelche Ideen?

20voto

svick Punkte 224493

Die von Ihnen erwähnten Formatzeichenfolgen sind Standard-Formatzeichenfolgen . Sie sollten wahrscheinlich eine benutzerdefinierte Formatzeichenfolge etwa so:

DateTime.ParseExact("2011-03-02T20:15:19.64Z", "yyyy-MM-ddTHH:mm:ss.ffK", null).ToUniversalTime()

Wenn Sie nicht ToUniversalTime() am Ende wird das Ergebnis in Ihre lokale Zeitzone umgerechnet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X