Код: Выделить всё
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);
У меня есть обходной путь, но я хочу, чтобы это было здесь, чтобы другие могли найти альтернативные решения.
EDIT: Этот вопрос основан на ошибочном понимании, но, вероятно, будет полезен другим (и мне в будущее). Смотрите мой ответ ниже.
Подробнее здесь: https://stackoverflow.com/questions/798 ... tion-times
Мобильная версия