Sie analysieren das UTC-Datum, aber DateTime.Kind ist lokal. Sie sollten mit DateTimeStyles.AdjustToUniversal analysieren, um den Kind als Utc zu markieren.
%Vor% Sie sollten DateTimeStyles.AdjustToUniversal verwenden. Die Eingabe DateTime
ist bereits universell und die Option AdjustToUniversal enum konvertiert die Eingabe in lokale Zeit, obwohl Sie eine resultierende Art von DateTimeKind.Unspecified
erhalten.
Ich schlage einfach vor, dass Sie .AssumeLocal
anstelle von .AssumeUniversal
verwenden möchten.
Sie haben einen Zeitstempel mit unbekannter Zeitzone, und wenn Sie wissen, dass sich der Zeitstempel auf ein Ereignis in Ihrer lokalen Zeitzone bezieht, sollten Sie dem Parse mitteilen, dass der Zeitstempel für Sie lokal ist ( dh in Ihrer Zeitzone).
Indem Sie .AssumeUniversal
verwenden, weisen Sie den Parser an, den Zeitstempel so zu behandeln, als wäre es ein UTC-Zeitstempel. Wenn Sie ihn mit Ihrer lokalen Zeitzone anzeigen, wird er automatisch um diesen Betrag versetzt.
Bearbeiten:
Eine wichtige Sache: Die Hauptstadt "Z" im Zeitstempel schlägt vor, dass es ein UTC-Zeitstempel ist, was bedeutet Sie möchten es als Universal behandeln. Wenn Sie es als lokalen Zeitstempel behandeln möchten, sollten Sie das Z aus dem Zeitstempel und die entsprechende Parse-Zeichenfolge entfernen.
Referenz: Ссылка