Есть ли общий TimeZoneInfo для Центральной Европы, который учитывает как CET, так и CEST в одном?Существует ли общий TimeZoneInfo для Центральной Европы?
У меня есть приложение, которое делает следующее:
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time");
DateTimeOffset dto = new DateTimeOffset(someDate, tzi.BaseUtcOffset);
var utcDate = dto.ToUniversalTime().DateTime;
Проблема заключается в том, что это возвращает неправильный utcDate, потому что BaseUtcOffset +1 вместо +2. Похоже, что CET также имеет DST, и в зависимости от времени года это +1 или +2.
Я знал, что должен был просто подождать, пока вы ответите. ;) – mgnoonan
Отличное объяснение. Хотя Noda Time может быть правильным инструментом, это сработало и является лучшим решением для текущего проекта. –
Небольшой комментарий: ConvertTimeToUtc теперь является статическим методом, поэтому вам нужно позвонить var utcDate = TimeZoneInfo.ConvertTimeToUtc (someDate, tzi) – Eoin