В идеале я хотел бы иметь возможность взять имя часового пояса и запросить у Windows информацию о соответствующем часовом поясе (смещение от UTC, смещение DST, даты переключения DST). , и т.д.). Похоже, что Windows использует структуру TIME_ZONE_INFORMATION для хранения такого рода информации. Итак, по-видимому, я хочу функцию, которая принимает строку с часовым поясом s name и возвращает структуру TIME_ZONE_INFORMATION.
Однако, все, что я могу найти, это функции, такие как GetTimeZoneInformation () , которые дают мне TIME_ZONE_INFORMATION для местного времени. Что мне нужно, так это функция, которая даст мне эту информацию для произвольного часового пояса, независимо от того, какой это местный часовой пояс.
Единственный способ, которым я вижу, чтобы получить эту информацию, - это взять ее непосредственно из реестра, что меньше, чем идеал. Страница TIME_ZONE_INFORMATION показывает, где она находится в реестре, поэтому должна быть возможность получить информацию оттуда, но я бы предпочел для нее подходящую системную функцию. Существует ли такая функция, или мне нужно заняться регистрацией, чтобы получить информацию о часовом поясе для произвольного часового пояса?