DYNAMIC_TIME_ZONE_INFO структура

Задава настройките за часовата зона и динамичното лятно часово време.

Членове на структурата

Текущото отместване за преобразуване на местно време на този компютър в минути. Отместването е часовата разлика в минути между универсалното глобално време (UTC) и местното време. Всички преобразувания наUTCи местно време се основават на следната формула:

Този член на структурата изисква.

Описание на стандартното време. Например „EST“ може да означава източно стандартно време. Низът трябва да бъде върнат от непроменената функцияGetDynamicTimeZoneInformation. Този низ може да е празен.

СтруктураSYSTEMTIME, която съдържа датата и местното време, когато в тази операционна система се извършва преходът от лятно часово време към стандартно време. Ако часовата зона наистина не поддържа лятното часово време или ако повикващият трябва да деактивира лятното часово време, тогава членътwMonthв структуратаSYSTEMTIMEтрябва да е нула. Ако тази дата е дефинирана, тогава членътDaylightDateна тази структура също трябва да бъде дефиниран. В противен случай системата приема, че данните за часовата зона са невалидни и не трябва да се прилагат промени.

Ако членътwYearне е нулев, тогава датата на прехода е абсолютна; случва се само веднъж. В противен случай това е относителна дата, която се среща всяка година.

Стойността на отместването, която се използва по време на преобразуването на местното време, което се случва по време на стандартно време. Този член на структурата се игнорира, ако за него не е предоставена стойност.

Тази стойност се добавя към стойността на члена на структуратаBias, за да се формира отместването, използвано по време на стандартното време. INВ повечето часови зони стойността на този член на структурата е нула.

Описание на лятното часово време (DST). Например „PDT“ може да означава тихоокеанско лятно часово време. Низът трябва да бъде върнат от непроменената функцияGetDynamicTimeZoneInformation. Този низ може да е празен.

СтруктураSYSTEMTIME, която съдържа датата и местното време, когато тази операционна система се променя от стандартно време към лятно часово време. Ако часовата зона наистина не поддържа лятното часово време или ако повикващият трябва да забрани лятното часово време, членътwMonthна структуратаSYSTEMTIMEтрябва да бъде нула. Ако тази дата е дефинирана, тогава членътStandardDateна тази структура също трябва да бъде дефиниран. В противен случай системата приема, че данните за часовата зона са невалидни и не трябва да се прилагат промени.

За да изберете правилния ден от месеца, задайте членаwYearна нула, задайте членоветеwHourиwMinuteза промяна на часа, задайте членаwDayOfWeekна съответния ден от седмицата и задайте членаwDayколко често този ден от седмицата се появява в рамките на месеца (от 1 до 5, където 5 показва последното появяване в месеца, ако не се случи 5 пъти в този ден от седмицата). Ако членътwYearе различен от нула, датата за промяна е абсолютна; ще се случи само веднъж. В противен случай това е относителна дата, която се среща всяка година.

Стойността на часовата разлика, която се използва при преобразуването на местното време, което се случва по време на лятното часово време. Този член на структурата се игнорира, ако за него не е предоставена стойност.

Тази стойност се добавя към стойността на члена на структуратаНаклонза оформяне за използване по време на лятното часово време. В повечето часови зони стойността на този член на структурата е (минус)60.

Името на ключа на системния регистър на часовата зона на локалния компютър. Вижте статияЗабележкиза повече информация.

Показва дали динамичното лятно часово време е блокирано. Задаването на този член на TRUE деактивира динамичното лятно часово време, карайки системата да използва фиксиран набор от променящи се дати.

За да възстановите динамичното лятно часово време, извикайте функциятаSetDynamicTimeZoneInformationсDynamicDaylightTimeDisabledзададено на FALSE. Системата чете датите на промяна през текущата година всеки път, когато системата се актуализира, при следващото рестартиране на системата или в края на календарната година (която опция е първа).

При извикване на функциятаGetDynamicTimeZoneInformation, този член е TRUE, ако часовата зона е зададена с помощта на функциятаSetTimeZoneInformationвместоSetDynamicTimeZoneInformationили ако потребителят е деактивирал тази функция с помощта на приложениетоДата и час, дата и час)вКонтролен панел.

За да деактивирате лятното часово време, задайте този член на TRUE, изчистете членоветеStandardDateиDaylightDateна структурата и извикайте функциятаSetDynamicTimeZoneInformation. За да възстановите DST, извикайтеSetDynamicTimeZoneInformationсDynamicDaylightTimeDisabledзададено на FALSE.

Динамичното лятно часово време осигурява поддръжка за часови зони, чиито лятно часово време се променя от година на година. Това свойство прави възможно надстройването на системите по-лесно, особено за вариантинационални настройки, при които годишните ограничения за лятно часово време (DST) са известни предварително. След като часовата зона бъде актуализирана, текущата настройка за часова зона се прилага за всички часови операции, дори ако въпросният час е настъпил преди промяната на часовата зона. Поради това е по-добре да съхранявате часа във форматUTCи да го конвертирате в текущата местна часова зона.

Можете да зададете дати на смяна през текущата година с помощта на функциятаSetDynamicTimeZoneInformation. За да зададете бъдещи дати на смяна, трябва да добавите записи към данните в регистъра. Настройките за динамично лятно часово време се съхраняват в следния ключ на системния регистър:

HKEY_LOCAL_MACHINEСОФТУЕРMicrosoftWindows NTCurrentVersionЧасови зониtime_zone_nameDynamic DST

ВсекиDynamic DSTключ на регистъра включва следните стойности на регистъра.