본문 바로가기
Programming/C & C++

Linux 와 Window 에서 현재시간 값 얻어오기

by leanu 2009. 4. 14.



앞부분의 _WINSOCKAPI_ 관련 define 부분은 winsock v1 과 winsock v2 의 충돌을 방지하기위해 넣은 코드다.

아래는 시간측정을 위해 사용한 운영체제별 구조체에 대한 설명이다. 특히나 범위나 시작하는 값이 어디서부터인지 잘 봐두는게 좋다.

struct timeval {
     long     tv_sec;    // seconds from 1970-01-01 00:00:00
     long     tv_usec;  // micro seconds
};

struct tm {
    int tm_sec;    // seconds                   [0, 59]
    int tm_min;    // minutes                    [0, 59]
    int tm_hour;   // hours                       [0, 23]
    int tm_mday; // day of the month        [1, 31]
    int tm_mon;   // months                     [0, 11]
    int tm_year;   // year since 1900
    int tm_wday; // days since sunday     [0, 6]
    int tm_yday;  // days since January 1 [0, 365]
    int tm_isdst;  // daylight savings time flag
};

typedef struct _SYSTEMTIME {
    WORD wYear;
    WORD wMonth;
    WORD wDayOfWeek;
    WORD wDay;
    WORD wHour;
    WORD wMinute;
    WORD wSecond;
    WORD wMilliseconds;
} SYSTEMTIME;



Additional Comment

컴파일된 시점의 날짜와 시간을 기록하고 싶으면 표준 매크로를 사용하면 된다.
__DATE__ 와 __TIME__ 을 이용하면 된다.


출력 결과

Date : Apr 16 2009
Time : 10:25:58

댓글