2014년 10월 26일 일요일

Time Zone 값 구하기(MFC) UTC

MFC(Win32 API)에서 현재 시스템에서 사용중인 Time Zone을 구할 수 있다.


 GetTimeZoneInformation();

위 함수를 이용하면 되고 파라미터로는 아래의 구조체가 들어간다.

 TIME_ZONE_INFORMATION

아래처럼 사용을 하면 된다.

 TIME_ZONE_INFORMATION tzi;
 GetTimeZoneInformation(&tzi);

구조체에 저장되는 값들은 MSDN을 참조하면 될 것이고, 표준시에서 얼마나 차이나는가...(즉 서울은 표준시+9시간)를 구하려면 아래처럼 하면 된다.

tzi.Bias의 값에 현재 사용하고 있는 시간과 표준시의 차이가 들어 있다. 이 값은 분(Minute)으로 되어 있다.

즉 tzi.Bias / 60 을 하면 시간을 구 할 수 있을것이며,  tzi.Bias % 60 시간을 뺀 나머지 분을 구할 수 있을 것이고, tzi.Bias*60 을 하면 초단위로 구할 수 있다.

표준시를 변경하려면 SetTimeZoneInformation 함수를 사용하면 된다.

댓글 없음: