현지 시간

시스템에서 UTC 기반 시간을 내부적으로 사용하는 동안 애플리케이션은 일반적으로 표준 시간대의 날짜 및 시간인 현지 시간을 표시합니다. 따라서 올바른 결과를 보장하려면 함수가 UTC 기반 시간 또는 현지 시간을 받을 것으로 예상되는지 여부와 함수가 UTC 기반 시간 또는 현지 시간을 반환하는지 여부를 알고 있어야 합니다.

현재 표준 시간대 설정은 시스템이 UTC와 현지 시간 간에 변환하는 방법을 제어합니다. GetTimeZoneInformation 함수를 사용하여 현재 표준 시간대 설정을 검색할 수 있습니다. 함수는 결과를 TIME_ZONE_INFORMATION 구조체에 복사하고 현지 시간이 현재 표준 시간인지 아니면 DST(일광 절약 시간)인지를 나타내는 값을 반환합니다. SetTimeZoneInformation 함수를 사용하여 표준 시간대 설정을 설정할 수 있습니다. 해마다 변경되는 일광 절약 시간에 대한 경계를 지원하려면 GetTimeZoneInformationForYear, GetDynamicTimeZoneInformationSetDynamicTimeZoneInformation 함수를 사용합니다.

현지 시간을 검색하려면 GetLocalTime 함수를 사용합니다. GetLocalTime 은 현재 표준 시간대 설정에 따라 시스템 시간을 로컬 시간으로 변환하고 결과를 SYSTEMTIME 구조에 복사합니다. SetLocalTime 함수를 사용하여 시스템 시간을 설정할 수 있습니다. SetLocalTime 은 시스템 시간을 설정하기 전에 로컬 시간을 지정하고 UTC로 변환한다고 가정합니다.

SetLocalTime을 호출할 때 시스템은 일광 절약 시간 설정을 포함하여 현재 표준 시간대 정보를 사용하여 변환을 수행합니다. 시스템은 사용자가 설정한 새 시간이 아니라 현재 시간의 일광 절약 시간 설정을 사용합니다. 따라서 올바른 결과를 확인하려면 첫 번째 호출이 일광 절약 시간 설정을 업데이트했으므로 SetLocalTime 을 두 번째로 호출합니다.

UTC 기반 시간을 현지 시간으로 변환하려면 SystemTimeToTzSpecificLocalTime 함수를 사용합니다. 현지 시간을 UTC 기반 시간으로 변환하려면 TzSpecificLocalTimeToSystemTime 함수를 사용합니다.