2010-01-09 5 views
0

utc 시스템 시간을 현지 시간으로 변환하고 해당 utc 오프셋을 찾아야합니다. 나는 시간대를 얻는 것도 신경 쓰지 않을 것이다. 내가 알 수있는 한, SystemTimeToTzSpecificLocalTime은 이것들에 관한 정보를 반환하지 않습니다.SystemTimeToTzSpecificLocalTime - utc 오프셋 및 시간대를 얻는 방법

누구나 UTC 오프셋 및 표준 시간대를 결정하는 좋은 방법이 있습니까?

답변

1

여기 한 가지 방법이 있습니다.

`

long int SBias, SSeconds, LSeconds; 

SYSTEMTIME STIME, LTime; SystemTimeToTzSpecificLocalTime (& TZ, & STime, & LTime);

SSeconds = 3600L * STime.wHour + 60L * STime.wMinute + STime.wSecond; 
LSeconds = 3600L * LTime.wHour + 60L * LTime.wMinute + LTime.wSecond; 

SBias = 60L * (TZ.Bias + TZ.StandardBias); 

SSeconds -= SBias; 
if (SSeconds < 0) SSeconds += 24L * 3600L; 

if (SSeconds == LSeconds) 
{ 
    tmX.tm_isdst = 0; 
    StdTime  = true; 
} 
else 
{ 
    tmX.tm_isdst = 1; 
    StdTime  = false; 
} 

`

관련 문제