Ich benutze die Noda Time libarary (v 2.0.3) für die Verarbeitung der Datumszeit in einem .net Kernprojekt. Jedoch; Ich habe einige Probleme beim Konvertieren eines Augenblicks in ein MEZ-Datum.Noda Time Sofort zu CET
Ich bin relativ neu zu Noda Time, möglicherweise mit falsch (ist nicht CET tz-db-Eintrag auf CET überhaupt)?
Beispielcode
// get current system instant
var systemInstant = SystemClock.Instance.GetCurrentInstant();
// get oslo zoneddatetime from instant
var osloDateTime = systemInstant.InZone(DateTimeZoneProviders.Tzdb["Europe/Oslo"]);
// get CET(?) zoneddatetime from instant
var cetDateTime = systemInstant.InZone(DateTimeZoneProviders.Tzdb["CET"]);
// output
Debug.WriteLine(osloDateTime.ToString());
Debug.WriteLine(cetDateTime.ToString());
Die Ausgabe aus dem Beispielcode mir oben gibt:
2017-06-16T22:28:16 Europe/Oslo (+02)
2017-06-16T22:28:16 CET (+02)
Acutally wurde ich erwarte die MEZ Zeit 21.28.16 (UTC + 1) zu sein, in Zonen aufgeteilt und nicht 22:28:16 (UTC + 2). UTC + 1 ist auch was die Time and date website anzeigt.
BTW - Wenn Sie eine Zeitzone wünschen, die das ganze Jahr über UTC + 1 ist, können Sie 'Etc/GMT-1' verwenden. –