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