Code: Select all
var fallBack = new DateOnly(2026, 10, 25);
var tzi = TimeZoneInfo.FindSystemTimeZoneById("Europe/London");
var oneAm = fallBack.ToDateTime(new TimeOnly(1, 0));
var utc = TimeZoneInfo.ConvertTimeToUtc(oneAm, tzi);
// wrong because transition occurs at 2am
Debug.Assert(!tzi.IsDaylightSavingTime(oneAm));
// wrong because utc should be midnight
Debug.Assert(utc.Hour != 0);
Ich habe eine Problemumgehung, möchte diese aber hier finden, damit andere sie finden und alternative Lösungen finden können.
BEARBEITEN: Diese Frage basiert auf einem fehlerhaften Verständnis, ist aber wahrscheinlich für andere (und mich selbst) nützlich die Zukunft). Siehe meine Antwort unten.
Mobile version