Laden...

Wie gehe ich mit der doppelten Stunde der Winterzeit um wenn ich in UTC umrechne?

Erstellt von LeitHai vor 3 Jahren Letzter Beitrag vor 3 Jahren 553 Views
L
LeitHai Themenstarter:in
4 Beiträge seit 2019
vor 3 Jahren
Wie gehe ich mit der doppelten Stunde der Winterzeit um wenn ich in UTC umrechne?

Hallo zusammen,

ich muss einen Zeitpunkt deutscher Zeit in UTC umrechnen.
Das klappt mit DateTime.ToUniversalTime schon sehr gut.

Was mache ich aber mit der Stunde, die es bei der Sommerzeit-/ Winterzeit-Umstellung doppelt gibt?
Laut Sommerzeit-Verordnung heißt die erste Stunde von 2-3 Uhr "2A" also 2A:00:00 und die zweite "2B" -> 2B:00:00

Wenn ich z.B. diesen Aufruf mache, gibts natürlich eine Fehlermeldung:

var Datum = new DateTime(2015, 10, 25, 2A, 30, 0);
Console.WriteLine("Ausgabe: " + Datum.ToUniversalTime());

Wie kann ich diese doppelte Stunde händeln?

Danke und Grüße!

LeitHai

P
441 Beiträge seit 2014
vor 3 Jahren

Nutze DateTimeOffset anstatt DateTime.

DateTimeOffset hat neben der DateTime Information eben noch die Zeitzonenverschiebung integriert.

Alternativ kannst du dir auch die Bibliothek NodaTime anschauen, die etwas anders mit Zeit umgeht, als die .NET Bordmittel.