So werden DateTime-Objekte im ISO 8601-Format analysiert und generiert
Es gibt diesen SOAP-Webdienst, der mir datetime-Objekte im folgenden Format sendet:
2016-03-29T12:20:35.093-05:00
Das ist der 29. März des Jahres 2016. Stunde: 12: 20: 35.093 (GMT-5).
Ich möchte in der Lage sein, ein @ zu erstellDateTime
Objekt, wie folgt:
DateTime.Now
und erhalten Sie die Zeichenfolgendarstellung in dem oben beschriebenen Format sowie die umgekehrte Operation, erstellen Sie eine DateTime aus einer Zeichenfolge wie der oben angegebenen.
Ich habe Folgendes versucht, um das Datum zu erstellen:
new DateTime(2016, 3, 29, 12, 20, 35, 093, DateTimeKind.Utc)
Allerdings kann ich nicht sehen, wie man dort GMT-5 spezifiziert ...
Ich weiß auch nicht, wie man eine DateTime in das angegebene Zeichenkettenformat konvertiert.
it Nates Code mache ich Folgendes:
var d = new DateTimeOffset(2016, 3, 29, 12, 20, 35, 93, TimeSpan.FromHours(-3));
FormatIso8601(d)
Dieser Aufruf kehrt jedoch zurück: "2016-03-29T15: 20: 35Z" anstelle von:
"2016-03-29T12:20:35.093-03:00"
was ist was ich eigentlich brauche.
Ich denke, das funktioniert:
d.ToString("yyyy-MM-ddTHH:mm:ss.fffzzz")