본문 바로가기

프로그래밍 활용(TIP)

TIME(시간)에 관련된 각종 함수들 (WIN32 API)


출처: http://blog.naver.com/ghostcbr954/110003750170

typedef struct_SYSTEMTIME
{
 WORD wYear;
 WORD wMonth;
 WORD wDayOfWeek;
 WORD wDay;
 WORD wHour;
 WORD wMinute;
 WORD wSecond;
 WORD wMillisecondes;
}SYSTEMTIME, *PSYSTEMTIME;


운영체제 차원에서 기본이 되는 시간 포멧의 구조체.

timeGetTime(VOID)

윈도우(운영체제)가 시작되어서 지금까지 흐른 시간을 1/1000 초단위로 나타내는 함수.
만일 윈도우가 뜨고 1분이 지났다면 이 함수는 60,000을 리턴.
부팅 시간은 제외.

void GetSystemTime(LPSYSTEMTIME lpSystemTime);

시스템의 시간을 알아내는 함수. 영국의 그리니치 천문대의 시간을 기준으로 한 시간이며,
국제적인 프로그램을 작성하는 경우가 아니라면 시스템 시간을 사용할 일은 별로 없을 것이다.

void GetLocalTime(LPSYSTEMTIME lpSystemTime);

UTC 시간에 현재 시스템에 설정된 시간대와 일광절약시간 설정을 참고하여
현지의 시간으로 바꾼 시간. 실제 프로그래밍에서는 로컬 시간이 더 자주 사용된다.

DWORD GetTickCount(VOID);

윈도우즈는 부팅된 후 1초에 1000씩 틱 카운트를 증가시키는데 이 함수를 사용하면 부팅된지 얼마나 경과
했는지를 알 수 있다. 카운트는 32비트값이므로 최대 49.7일간의 카운트를 유지할 수 있다. 주로 두사건
사이의 경과 시간을 측정하기 위한 용도로 사용하며 또는 간단한 애니메이션, 커스텀 커서의 깜박임 주기
조정 등의 용도로도 사용할 수 있다. 이 함수보다 더 정밀한 시간을 측정할 필요가 있을 때는 멀티미디어
타이머나 고해상도 타이머를 사용해야 한다.