DYNAMIC_TIME_ZONE_INFORMATION 구조체(timezoneapi.h)
표준 시간대 및 동적 일광 절약 시간에 대한 설정을 지정합니다.
구문
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 = 현지 시간 + 바이어스
이 멤버는 필수입니다.
StandardName[32]
표준 시간에 대한 설명입니다. 예를 들어 "EST"는 동부 표준시를 나타낼 수 있습니다. GetDynamicTimeZoneInformation 함수에 의해 문자열이 변경되지 않고 반환됩니다. 이 문자열은 비어 있을 수 있습니다.
StandardDate
이 운영 체제에서 일광 절약 시간에서 표준 시간으로의 전환이 발생하는 날짜 및 현지 시간을 포함하는 SYSTEMTIME 구조체입니다. 표준 시간대가 일광 절약 시간을 지원하지 않거나 호출자가 일광 절약 시간을 사용하지 않도록 설정해야 하는 경우 SYSTEMTIME 구조의 wMonth 멤버는 0이어야 합니다. 이 날짜를 지정하면 이 구조체의 DaylightDate 멤버도 지정해야 합니다. 그렇지 않으면 시스템에서 표준 시간대 데이터가 유효하지 않으며 변경 내용이 적용되지 않는다고 가정합니다.
해당 월의 올바른 날짜를 선택하려면 wYear 멤버를 0으로 설정하고, wHour 및 wMinute 멤버를 전환 시간으로 설정하고, wDayOfWeek 멤버를 적절한 평일로 설정하고, wDay 멤버를 사용하여 해당 월 내의 요일 발생을 나타냅니다(1에서 5로, 요일이 5번 발생하지 않는 경우 5는 해당 월의 최종 발생을 나타냅니다).
이 표기법을 사용하여 wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1과 같이 4월 첫 번째 일요일에 02:00을 지정합니다. wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5와 같이 10월 마지막 목요일에 02:00을 지정합니다.
wYear 멤버가 0이 아니면 전환 날짜는 절대입니다. 한 번만 발생합니다. 그렇지 않으면 매년 발생하는 상대 날짜입니다.
StandardBias
표준 시간 동안 발생하는 현지 시간 번역 중에 사용할 바이어스 값입니다. StandardDate 멤버에 대한 값이 제공되지 않으면 이 멤버는 무시됩니다.
이 값은 표준 시간 동안 사용되는 바이어스 형성을 위해 Bias 멤버의 값에 추가됩니다. 대부분의 표준 시간대에서 이 멤버의 값은 0입니다.
DaylightName[32]
DST(일광 절약 시간)에 대한 설명입니다. 예를 들어 "PDT"는 태평양 일광 절약 시간을 나타낼 수 있습니다. GetDynamicTimeZoneInformation 함수에 의해 문자열이 변경되지 않고 반환됩니다. 이 문자열은 비어 있을 수 있습니다.
DaylightDate
이 운영 체제에서 표준 시간에서 일광 절약 시간으로의 전환이 발생하는 날짜 및 현지 시간을 포함하는 SYSTEMTIME 구조입니다. 표준 시간대가 일광 절약 시간을 지원하지 않거나 호출자가 일광 절약 시간을 사용하지 않도록 설정해야 하는 경우 SYSTEMTIME 구조의 wMonth 멤버는 0이어야 합니다. 이 날짜를 지정하면 이 구조체의 StandardDate 멤버도 지정해야 합니다. 그렇지 않으면 시스템에서 표준 시간대 데이터가 유효하지 않으며 변경 내용이 적용되지 않는다고 가정합니다.
해당 월의 올바른 날짜를 선택하려면 wYear 멤버를 0으로 설정하고, wHour 및 wMinute 멤버를 전환 시간으로 설정하고, wDayOfWeek 멤버를 적절한 평일로 설정하고, wDay 멤버를 사용하여 해당 월 내의 요일 발생을 나타냅니다(1에서 5로, 요일이 5번 발생하지 않는 경우 5는 해당 월의 최종 발생을 나타냅니다).
wYear 멤버가 0이 아니면 전환 날짜는 절대입니다. 한 번만 발생합니다. 그렇지 않으면 매년 발생하는 상대 날짜입니다.
DaylightBias
일광 절약 시간 동안 발생하는 현지 시간 변환 중에 사용할 바이어스 값입니다. DaylightDate 멤버에 대한 값이 제공되지 않으면 이 멤버는 무시됩니다.
이 값은 바이어스 멤버의 값에 추가되어 일광 절약 시간 동안 사용되는 바이어스 형식입니다. 대부분의 표준 시간대에서 이 멤버의 값은 –60입니다.
TimeZoneKeyName[128]
로컬 컴퓨터의 표준 시간대 레지스트리 키 이름입니다. 자세한 내용은 설명 부분을 참조하세요.
DynamicDaylightTimeDisabled
동적 일광 절약 시간을 사용할 수 없는지 여부를 나타냅니다. 이 멤버를 TRUE 로 설정하면 동적 일광 절약 시간이 비활성화되어 시스템에서 고정된 전환 날짜 집합을 사용합니다.
동적 일광 절약 시간을 복원하려면 DynamicDaylightTimeDisabled가 FALSE로 설정된 SetDynamicTimeZoneInformation 함수를 호출합니다. 시스템은 다음 번 업데이트, 다음 시스템 다시 부팅 또는 역년 말(중 먼저 제공됨)에서 현재 연도의 전환 날짜를 읽습니다.
GetDynamicTimeZoneInformation 함수를 호출할 때 표준 시간대가 SetDynamicTimeZoneInformation 대신 SetTimeZoneInformation 함수를 사용하여 설정되었거나 사용자가 제어판 날짜 및 시간 애플리케이션을 사용하여 이 기능을 사용하지 않도록 설정한 경우 이 멤버는 TRUE입니다.
일광 절약 시간을 사용하지 않도록 설정하려면 이 멤버를 TRUE로 설정하고 StandardDate 및 DaylightDate 멤버를 지우고 SetDynamicTimeZoneInformation을 호출합니다. 일광 절약 시간을 복원하려면 DynamicDaylightTimeDisabled가 FALSE로 설정된 SetDynamicTimeZoneInformation을 호출합니다.
설명
동적 일광 절약 시간은 일광 절약 시간제에 대한 경계가 해마다 변경되는 표준 시간대를 지원합니다. 이 기능을 사용하면 특히 연간 DST 경계가 미리 알려진 로캘의 경우 시스템을 더 쉽게 업데이트할 수 있습니다. 표준 시간대가 업데이트된 후 해당 시간이 표준 시간대가 변경되기 전에 발생한 경우에도 현재 표준 시간대 설정이 모든 시간 작업에 적용됩니다. 따라서 UTC 시간을 저장하고 현재 현지 표준 시간대로 변환하는 것이 가장 좋습니다.
SetDynamicTimeZoneInformation 함수를 사용하여 현재 연도의 전환 날짜를 설정할 수 있습니다. 향후 전환 날짜를 설정하려면 레지스트리 데이터에 항목을 추가해야 합니다. 동적 일광 절약 시간에 대한 설정은 다음 레지스트리 키에 저장됩니다.
HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Time Zones time_zone_name Dynamic DST
각 동적 DST 키에는 다음 레지스트리 값이 포함됩니다.
레지스트리 값 | 유형 | Description |
---|---|---|
FirstEntry | REG_DWORD | 테이블의 첫 해입니다. |
LastEntry | REG_DWORD | 테이블의 마지막 해입니다. |
year1 | REG_BINARY |
다음 표준 시간대 정보입니다.
|
year2 | REG_BINARY | REG_TZI_FORMAT 구조체입니다. |
갈망 | REG_BINARY | REG_TZI_FORMAT 구조체입니다. |
표준 시간대 키의 다른 값에 대한 자세한 내용은 TIME_ZONE_INFORMATION.
StandardName과 DaylightName은 모두 현재 사용자 기본 UI 언어에 따라 지역화됩니다.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
머리글 | timezoneapi.h(Timezoneapi.h, Windows.h 포함) |