Mein Ziel ist es, das .NET DateTime-Objekt (in C #) zu verwenden und es seriell zu einer Zeichenkette zu serialisieren und zu analysieren (für die Verwendung in XML), die mit Standards kompatibel ist. Der spezifische Standard, an den ich denke, ist der ISO 8601-Standard für die Darstellung von Daten und Zeiten.
Ich möchte eine einfach zu bedienende Lösung (vorzugsweise einen Methodenaufruf pro Richtung) das wird in und von der verketteten Version des Formats konvertieren. Ich möchte auch lokale Zeitzoneninformationen erhalten.
Hier ist ein Beispiel für die Art von String, die ich gerne bekommen würde:
2009-04-15T10: 55: 03.0174-05: 00
Meine Ziel-.NET-Version ist 3.5.
Ich habe vor einigen Jahren eine Lösung für dieses Problem gefunden, die ein benutzerdefiniertes Format und die DateTime.ToString (string) Methode beinhaltet. Ich war überrascht, dass eine einfachere standardkonforme Lösung nicht existierte. Die Verwendung einer benutzerdefinierten Format-Zeichenfolge zum Serialisieren und Analysieren in einer standardkonformen Weise riecht ein wenig nach mir.
Glücklicherweise gibt es XmlConvert.ToString()
und XmlConvert.ToDateTime()
, die dieses Format verarbeiten:
(Wählen Sie Ihren geeigneten Serialisierungsmodus)
Es sieht so aus, als ob .NET sich in den letzten Jahren etwas verbessert hat. Das System.Xml.XmlConvert -Objekt scheint so zu sein, dass es eine ganze Klasse adressieren kann von Bedürfnissen, die in diesem Zusammenhang erscheinen. Die folgenden Funktionen scheinen speziell für die flexible und standardkonforme Konvertierung von DateTime-Objekten entwickelt worden zu sein.
%Vor%Das folgende Aufzählungselement scheint besonders nützlich zu sein, wenn Sie die ursprünglichen Zeitzoneninformationen beibehalten möchten:
%Vor%Hier finden Sie Links zur Dokumentation für die Funktionen auf MSDN:
XmlConvert.ToDateTime (Zeichenfolge, System.Xml.XmlDateTimeSerializationMode)
XmlConvert.ToString (DateTime, System.Xml.XmlDateTimeSerializationMode)
Tags und Links .net datetime standards-compliance