Структура DYNAMIC_TIME_ZONE_INFORMATION


Устанавливает параметры настройки для часового пояса и динамического летнего времени.

Синтаксис

typedef struct _TIME_DYNAMIC_ZONE_INFORMATION {
  LONG Bias;
  WCHAR StandardName[32];
  SYSTEMTIME StandardDate;
  LONG StandardBias;
  WCHAR DaylightName[32];
  SYSTEMTIME DaylightDate;
  LONG DaylightBias;
  WCHAR TimeZoneKeyName[128];
  BOOLEAN DynamicDaylightTimeDisabled;
} DYNAMIC_TIME_ZONE_INFORMATION, 
 *PDYNAMIC_TIME_ZONE_INFORMATION;
 

Члены структуры

Bias

Текущее смещение для преобразования местного времени на этом компьютере, в минутах. Смещение - это разница во времени, в минутах, между Универсальным глобальным время (UTC) и местным временем. Все преобразования UTC и местным временем основаны на нижеследующей формуле:

UTC = local time (местное время) + bias (смещение времени)

Этот член структуры требует.

StandardName

Описание стандартного времени. Например, "EST" может указывать Восточное стандартное время. Строка должна возвращаться неизменной функцией GetDynamicTimeZoneInformation. Эта строка может быть пустой.

StandardDate

Структура SYSTEMTIME, которая содержит в себе дату и местное время, когда происходит на этой операционной системе переход от летнего времени к стандартному времени. Если часовой пояс действительно не поддерживает летнее время, или если вызывающая программа должна отключить летнее время, то член wMonth в структуре SYSTEMTIME должен быть нулем. Если эта дата определяется, то член DaylightDate этой структуры должен также определяться. В противном случае, система предполагает, что данные часового пояса недопустимы и никакие изменения не должны применяться.

Чтобы выбрать правильный день месяца, установите член структуры wYear в нуль, а члены структуры wHour и wMinute в переходное время, член wDayOfWeekу в соответствующий день недели, а в члене структуры wDay указывается частота встречи дня недели внутри месяца (1 - 5, где 5 указывает конечное событие в ходе месяца, если в этот день недели не встречается 5 раз). Используя эту условную систему обозначений, 02:00 в первое воскресенье апреля устанавливается следующим образом: wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1. Прошлый четверг в октябре 02:00 устанавливается следующим образом: wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5.

Если член структуры wYear не нуль, то переходная дата абсолютна; это происходит только один раз. В противном случае, это - относительная дата, которая происходит ежегодно.

StandardBias

Значение смещения, которое используется в ходе преобразования местного времени, происходящее в ходе поясного времени. Этот член структуры игнорируется, если значение для него не предоставляется.

Это значение добавляется к значению члена структуры Bias, чтобы сформировать смещение используемое в ходе поясного времени. В большинстве часовых поясов значение этого члена структуры - нуль.

DaylightName

Описание летнего времени (DST). Например, "PDT" может служить признаком Тихоокеанского летнего времени. Строка должна возвращаться неизменной функцией GetDynamicTimeZoneInformation. Эта строка может быть пустой.

DaylightDate

Структура SYSTEMTIME, которая содержит в себе дату и местное время, когда происходит в этой операционной системе переход от поясного времени к летнему времени. Если часовой пояс действительно не поддерживает летнее время или, если вызывающая программа должна отключить летнее время, член wMonth структуры SYSTEMTIME должен быть нулем. Если эта дата определена, то член StandardDate в этой структуре должен также определяться. В противном случае, система предполагает, что данные часового пояса недопустимы и никакие изменения не должны применяться.

Чтобы выбрать правильный день месяца, установите член структуры wYear в нуль, члены структуры wHour и wMinute в сменяемое время, член структуры wDayOfWeek в соответствующий день недели, а в члене структуры wDay укажите частоту встречи этого дня недели в пределах месяца (1 - 5, где 5 указывает последний случай в ходе месяца, если в этот день недели не встречается 5 раз). Если член структуры wYear не нуль, сменяемая дата абсолютна; это произойдет только один раз. В противном случае, это - относительная дата, которая происходит ежегодно.

DaylightBias

Значение разницы во времени, которое используется в ходе преобразования местного времени, происходящее в ходе летнего времени. Этот член структуры игнорируется, если значение для него не предоставляется.

Это значение добавляется к значению члена структуры Bias, чтобы сформировать для использования в ходе летнее время. В большинстве часовых поясов значение этого члена структуры –(минус)60.

TimeZoneKeyName

Имя ключа реестра часового пояса на локальном компьютере. Дополнительную информацию смотри в статье Замечания.

DynamicDaylightTimeDisabled

Указывает, блокируется ли динамическое летнее время. Установка этого члена структуры в TRUE отключает динамическое летнее время, заставляя систему использовать фиксированный набор сменных дат.

Чтобы восстановить динамическое летнее время, вызовите функцию SetDynamicTimeZoneInformation с параметром DynamicDaylightTimeDisabled, установленным в FALSE. Система читает сменные даты в течение текущего года в каждый раз при обновлении системы, при очередной системной перезагрузке или в конце календарного года (какой бы параметр не был на первом месте).

При вызове функции GetDynamicTimeZoneInformation, этот член структуры - TRUE, если часовой пояс устанавливал использование функции SetTimeZoneInformation вместо SetDynamicTimeZoneInformation или, если пользователь отключил эту функцию, используя приложение Date and Time Дата и время) в Панели Управления (Control Panel).

Чтобы отключить летнее время, установите этот член структуры в TRUE, очистите члены структуры StandardDate и DaylightDate и вызовите функцию SetDynamicTimeZoneInformation. Чтобы восстановить летнее время, вызовите SetDynamicTimeZoneInformation с параметром DynamicDaylightTimeDisabled установленным в FALSE.

Замечания

Динамическое летнее время оказывает поддержку часовых поясов, границы которых для летнего времени изменяются из года в год. Эта свойство делает возможным более легкое обновление систем, специально для вариантов национальных настроек, где ежегодные границы летнего времени (DST) известны заранее. После того, как часовой пояс обновиться, текущая установка часового пояса применяется на все операции времени, даже тогда, когда рассматриваемое время произошло перед тем, как изменился часовой пояс. Поэтому, лучше сохранять время в формате UTC и преобразовывать его в текущий местный часовой пояс.

Вы можете назначить сменные даты в течение текущего года, используя функцию SetDynamicTimeZoneInformation. Чтобы назначить будущие сменные даты, Вы должны добавить записи к данным реестра. Параметры настройки динамического летнего времени сохраняются в нижеследующем ключе реестра:

HKEY_LOCAL_MACHINE
     SOFTWARE
          Microsoft
               Windows NT
                    CurrentVersion
                         Time Zones
                              time_zone_name
                                   Dynamic DST

Каждый раздел реестра Dynamic DST включает в себя нижеследующие значения реестра.

Значение реестра

Тип

Описание

FirstEntry REG_DWORD Первый год в таблице.
LastEntry REG_DWORD Последний год в таблице.
year1 REG_BINARY  

Ниже следует информация о часовом поясе.

 

typedef struct _REG_TZI_FORMAT
{
    LONG Bias;
    LONG StandardBias;
    LONG DaylightBias;
    SYSTEMTIME StandardDate;
    SYSTEMTIME DaylightDate;
} REG_TZI_FORMAT;
year2 REG_BINARY Структура REG_TZI_FORMAT.
yearN REG_BINARY Структура REG_TZI_FORMAT.

Дополнительную информацию о других значениях в разделе реестра Time Zones, см. структуру TIME_ZONE_INFORMATION.

Смотри также

Обзор Время (операционной системы), Структуры, используемые для времени, GetDynamicTimeZoneInformation, SetDynamicTimeZoneInformation, SYSTEMTIME

Размещение и совместимость DYNAMIC_TIME_ZONE_INFORMATION
К Windows Vista Да
л Windows XP Да
и Windows 2000 Professional Да
е Windows NT Workstation Да
н Windows Me Да
т Windows 98 Да
  Windows 95 Да
 
С Windows Server 2008 Да
е Windows Server 2003 Да
р Windows 2000 Server Да
в Windows NT Server Да
е    
р    
Используемая библиотека -
Используемая DLL -
Заголовочный файл  
- объявлено в Winbase.h
- включено в Windows.h
Unicode Нет
Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz