_daylight, _dstbias, _timezone и _tzname

_daylight, _dstbias, _timezone и _tzname используются в некоторых процедурах даты и времени для корректировки локального времени. Использование этой глобальной переменной не рекомендуется в силу наличия более безопасных функциональных версий, которые следует использовать вместо глобальных переменных.

Глобальная переменная Функциональный эквивалент
_daylight _get_daylight
_dstbias _get_dstbias
_timezone _get_timezone
_tzname _get_tzname

Они объявлены в Time.h следующим образом.

Синтаксис

extern int _daylight;
extern int _dstbias;
extern long _timezone;
extern char *_tzname[2];

Замечания

При вызове _ftime, localtime или _tzset значения _daylight, _dstbias, _timezone и _tzname определяются, исходя из значения переменной среды TZ. Если вы явно не задаете значение TZ_tzname[0] и _tzname[1] содержит параметры по умолчанию PST и PDT соответственно. Функции обработки времени (_tzset, _ftimeиlocaltime) пытаются задать значения _daylightи _timezone_dstbias запросить операционную систему для значения по умолчанию каждой переменной. Значения глобальных переменных часовых поясов перечислены в следующей таблице.

Переменная Значение
_daylight Ненулевое, если переход на летнее время (DST) указан в TZ или определяется операционной системой; в противном случае — 0. Значение по умолчанию равно 1.
_dstbias Смещение при переходе на летнее время.
_timezone Разница в секундах между временем в формате UTC и местным временем. Значение по умолчанию — 28 000.
_tzname[0] Имя часового пояса, исходя из переменной среды TZ. Значение по умолчанию — PST.
_tzname[1] Имя пояса DST, исходя из переменной среды TZ. Значение по умолчанию — PDT (тихоокеанское летнее время).

См. также

Глобальные переменные
_get_daylight
_get_dstbias
_get_timezone
_get_tzname