DateTime.Analysieren von Problem, keine Unterstützung für in System.Globalisierung.GregorianCalendar
Ich habe ein Problem, wo eine bestimmte Uhrzeit-Zeichenfolge, die in der Gmail-Atom-feed nicht Parsen mit DateTime.Parse()
. Ich verstehe, die ich verwenden könnte DateTime.TryParse(), aber ich bin neugierig, warum diese beiden nicht funktionieren, wo, wie alle der rest.
2009-12-28T24:11:48Z
2009-12-30T24:16:20Z
den spezifischen Ausnahme:
System.FormatException: Die DateTime-vertreten durch die Zeichenfolge wird nicht unterstützt im Kalender-System.Globalisierung.GregorianCalendar.
Mein Verdacht ist, dass es ist, weil der 24 Stunden... anstatt 00 Uhr, aber ich bin mir nicht sicher, wie ich das berichtigen.
- Jemand eine Ahnung, ob die gmail-atom-v0.3-feed (mail.google.com/mail/feed/atom) ist immer noch die Rückkehr dieser falsche Zeitstempel für dieses Datum?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hour
wird0
und fügen Sie einfach einen Tag, um es zu bekommen, um die 24 Stunden. Ist mein Verständnis richtig?Wenn es nur die
24
statt00
haben, können Sie einfach ersetzen Sie es, und fügen Sie einen Tag:Die DateTime-Eintrag in der MSDN sagt, dass es unterstützt ISO 8601, welches sowohl 24 und 00. Es sollte ermöglichen, das format, der Typ
[YYYY][MM][DD]T[hh][mm]Z
zB.2010-01-04T14:04Z
.24:00
aber nicht24:01
.Gleiche Idee wie md5sum, aber einen anderen Weg:
Würden Sie noch brauchen, um zu überprüfen, ob das Datum korrekt ist, obwohl.
12/27/2009 6:11:48 PM
... ich würde davon ausgehen, die -6 Stunden von meiner Zeit-zone, aber Sie müssen noch hinzufügen Tag.stellt sich heraus, das google mit dem w3c Datum und Zeit standard: http://www.w3.org/TR/NOTE-datetime, die c# nicht unterstützt? seltsam, aber nicht seltsam.
diesem Projekt wird die Realisierung für Sie.
http://www.codeproject.com/KB/cs/w3cdate.aspx
edit: ja, ich sehe jetzt, dass google das nicht tun es richtig, aber es gibt eine Ausnahme für die, die in der w3cdate c# - Struktur.
24
im w3-spec Sie verknüpft, ist nicht erlaubt"hh = two digits of hour (00 through 23) (am/pm NOT allowed)"
C# unterstützt standard -, aber Google ist mit einem anderen standard oder Variante. Das Projekt, das Sie verlinkt hat-Konto, wenn für Sie.