Как следствие ответа caf, заголовок <tzinfo.h>
можно использовать для получения смещения от UTC для данного часового пояса. Общественная база данных часовых поясов содержит тонны информации; в дистрибутивах Linux, которые я использовал, он доступен для просмотра в /usr/share/zoneinfo
, и я считаю, что Apple упаковывает его в iTunes для Win32.
Из командной строки большинства дистрибутивов вы можете сделать это:
# it's easy to find out what timezones are available
$ file /usr/share/zoneinfo/{US/Eastern,UTC}
/usr/share/zoneinfo/US/Eastern: timezone data
/usr/share/zoneinfo/UTC: timezone data
# now examine them
$ zdump US/Eastern UTC
US/Eastern Wed Dec 23 00:11:31 2009 EST
GMT Wed Dec 23 05:11:31 2009 UTC
Похоже, что США / Восток в настоящее время в стандартном времени (летом будет напечатано EDT
), и что это 5 часов до UTC, что дает вам смещение от UTC.