mktime 날짜를 Unix Time으로 전환

OS/리눅스 & 유닉스 2011. 12. 8. 11:13

mktime

Unix Time 시간을 가져온다.

 

사용법

 #include <time.h> 
 
time_t mktime(struct tm *tm);

 

설명

mktime 함수는 인자로 받은 시간 구조체 tlmeptr의 값을 Unix Time 시간으로 변경시킨다.

 

struct tm 구조체의 원형은

 struct tm { 
    int tm_sec;          /* seconds */ 
    int tm_min;          /* minutes */ 
    int tm_hour;        /* hours */ 
    int tm_mday;       /* day of the month */ 
    int tm_mon;         /* month */ 
    int tm_year;        /* year */ 
    int tm_wday;       /* day of the week */ 
    int tm_yday;       /* day in the year */ 
    int tm_isdst;       /* daylight saving time */ 
};

 

tm 구조체의 멤버변수에 대한 설명이다.

 tm_sec : 0 - 59 까지의 초 
 tm_min : 0 - 59 까지의 분
 tm_hour : 0 - 23 까지의 시
 tm_mday : 1 - 31 까지의 일
 tm_mon : 0 - 11 까지의 월
 tm_year : 년도로 1900년이 시작 년으로 한다.
 tm_wday : 일요일 부터의 일 , 0 - 6 
 tm_yday : 1월 1일 부터의 일, 0 - 365
 tm_isdst : 일광절약 시간을 적용할 것인지.

* 월과 년도를 정할 때 주의!!

예를 들어, 2010년 6월이라면

tm_year = (2010 - 1990)

tm_mon = (6 - 1)

 

예제

 #include <time.h> 
 
#include <stdio.h> 
#include <unistd.h> 
#include <sys/types.h> 
 
int main() 

    struct tm tm_ptr; 
    time_t the_time; 
    int i; 
 
    // 2010년 6월 18일 1시 20분 30초 에 대한 
    // Unix Time 를 되돌려준다. 
    tm_ptr.tm_year = 110;  // 2010 - 1900 
    tm_ptr.tm_mon  = 5;    // 5 - 1 
    tm_ptr.tm_mday = 18; 
    tm_ptr.tm_hour = 1; 
    tm_ptr.tm_min  = 20; 
    tm_ptr.tm_sec  = 30; 
 
    printf("%d\n", mktime(&tm_ptr)); 
}

[출처] mktime|작성자 사랑이송송

'OS > 리눅스 & 유닉스' 카테고리의 다른 글

open  (0) 2011.12.23
fcntl 을 이용한 파일제어  (0) 2011.12.23
unix/linux ftp 명령어  (0) 2011.12.05
유닉스/리눅스 시스템 라이브러리 함수  (0) 2011.12.01
basename, dirname  (0) 2011.12.01
: