Ich würde in beiden Fällen 01.12.2024 01:00:00 erwarten, da die lokale Zeit immer UTC+1h ist und zwar egal ob Sommerzeit oder Winterzeit.
Was verstehe ich hier falsch?
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge aus, um die neuesten Funktionen, Sicherheitsupdates und technischen Support zu nutzen.
Der folgende C#-Code soll das Problem mit der Funktion: ToLocalTime() verdeutlichen:
DateTime dt1 = new DateTime(2024, 8, 1); // Sommerzeit
DateTime.SpecifyKind(dt1, DateTimeKind.Utc);
string utc1 = dt1.ToString();
string local1 = dt1.ToLocalTime().ToString();
Console.WriteLine($@"utc1 : {utc1}");
Console.WriteLine($@"local1: {local1} ==> wrong on the {DateTime.Now}");
```Ausgabe:
utc1 : 01.08.2024 00:00:00
local1: 01.08.2024 02:00:00 ==> wrong on the 29.10.2024 08:08:23
```vba
DateTime dt2 = new DateTime(2024, 12, 1); // Winterzeit
DateTime.SpecifyKind(dt2, DateTimeKind.Utc);
string utc2 = dt2.ToString();
string local2 = dt2.ToLocalTime().ToString();
Console.WriteLine($@"utc2 : {utc2}");
Console.WriteLine($@"local2: {local2} ==> correct on the {DateTime.Now}");
```Ausgabe:
utc2 : 01.12.2024 00:00:00
local2: 01.12.2024 01:00:00 ==> correct on the 29.10.2024 08:08:23
Ich würde in beiden Fällen 01.12.2024 01:00:00 erwarten, da die lokale Zeit immer UTC+1h ist und zwar egal ob Sommerzeit oder Winterzeit.
Was verstehe ich hier falsch?