Код: Выделить всё
TimeZoneInfo.TryConvertIanaIdToWindowsId("Canada/Eastern", out string temp2);
TimeZoneInfo.TryConvertWindowsIdToIanaId(temp2, out string temp3);
Debug.WriteLine(temp2 ?? "NULL"); //Eastern Standard Time
Debug.WriteLine(temp3 ?? "NULL"); //America/New_York
Это не проблема на компьютерах без Windows, поскольку все они используют IANA. но для Windows я не могу получить истинный часовой пояс пользователя IANA. Есть ли какой-нибудь способ обойти это?
Как Windows вообще справляется с этим, если часовые пояса группируются вместе (например, «Америка/Нью-Йорк» и «Канада/Восточное» в «Восточное стандартное время»). ') со временем (или уже) могут быть другие исторические правила перехода на летнее время и еще много чего? Тем не менее, даже если бы они были одинаковыми во всем, кроме имени, я бы хотел каким-то образом получить правильный часовой пояс IANA для машины.
Подробнее здесь: https://stackoverflow.com/questions/727 ... conversion
Мобильная версия