_tzset
Задает переменные среды времени.
Важно |
---|
Этот API нельзя использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /ZW. |
void _tzset( void );
Заметки
Функция _tzset использует текущий параметр переменной среды TZ для присвоения значения до 3 глобальной переменной: _daylight, _timezone и _tzname.Эти переменные используются функциями _ftime и localtime, чтобы внести исправления в координируемого всемирного времени (UTC) в местное время и функцией time для вычисления времени в формате UTC из системного времени.Используйте следующий синтаксис для задания переменной среды TZ:
setTZ=tzn[+ | –]hh[:mm[:ss] ][dzn]
tzn
Имя часового пояса 3 - буквы, например PST.Необходимо указать правильное смещение из локального времени во время в формате UTC.hh
Различие между время в формате UTC и местным временем.Подпишите (+) необязательно для положительных значений.mm
Минуты.Это из hh двоеточие (:).ss
Секунды.Это из mm двоеточие (:).dzn
Зона летнего времени 3 - буквы, например PDT.Если летнее время не действует в расположении, задайте TZ без значения для dzn.Библиотека времени выполнения C принимает правила Соединенных Штатов для реализации вычисление зимнее время (DST).
Примечание |
---|
Позаботьтесь в подписи вычисления разницы во времени.Поскольку разница во времени смещение из локального времени во время в формате UTC (а не обратный), его подпись может быть противоположностью, которые могут ожидать интуитивно.Для часовых поясов до времени в формате UTC разница во времени отрицательная; для этих за время в формате UTC, разница положительно. |
Например, для задания переменной среды TZ для проверки в зоне текущего времени в Германии, введите в командной строке:
set TZ=GST-1GDT
Эта команда используется GST для отображения немецкий стандартное время, высказывать время в формате UTC один час за Германией (или другими словами, что Германия один час до времени в формате UTC) и высказывать Германия отслеживает время дневн- сохранение.
Если значение TZ не задано, то _tzset пытается использовать данные часового пояса определенные операционной системой.В операционной системе Windows, эти данные определяются в приложении Дата/времени на панели управления.Если _tzset не сможет получить эти сведения, они используют PST8PDT по умолчанию, которое означает зону мирного времени.
На основе значения переменной среды TZ следующие значения, присвоенные глобальным переменным _daylight, _timezone и _tzname при вызове _tzset.
Глобальная переменная |
Описание |
Значение по умолчанию |
---|---|---|
_daylight |
Ненулевое значение, если зона дневн-сбережени- время определяется в параметре TZ; в противном случае — значение 0. |
1 |
_timezone |
Различие в секундах между местным временем и временем в формате UTC. |
equals (28800 28800 секунд (8 часов) |
_tzname[0] |
Строковое значение имени часового пояса из переменной TZ экологической; пусто, если TZ не задано. |
PST |
_tzname[1] |
Строковое значение дневн-сбережени- зоны Time; пусто, если зона зимнее время снята из переменной TZ экологической. |
PDT |
Значения по умолчанию, указанные в предыдущей таблице для _daylight и массив _tzname соответствуют "PST8PDT". Если зона DST снята из переменной TZ экологической, _daylight имеет значение 0, а _ftime, gmtime и localtime возвращают значение 0 функций для их DST пометят.
Требования
Функция |
Требуемый заголовок |
---|---|
_tzset |
<time.h> |
Дополнительные сведения см. в разделе Совместимость.
Пример
// crt_tzset.cpp
// This program uses _tzset to set the global variables
// named _daylight, _timezone, and _tzname. Since TZ is
// not being explicitly set, it uses the system time.
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
_tzset();
int daylight;
_get_daylight( &daylight );
printf( "_daylight = %d\n", daylight );
long timezone;
_get_timezone( &timezone );
printf( "_timezone = %ld\n", timezone );
size_t s;
char tzname[100];
_get_tzname( &s, tzname, sizeof(tzname), 0 );
printf( "_tzname[0] = %s\n", tzname );
exit( 0 );
}
Эквивалент в .NET Framework
Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.