한국어

tc_backup

그리고 시간을 나타내는 함수는 보통 time.h 헤더파일에 거의 들어있습니다.


time_t time(time_t *timer);
char *ctime(const time_t *timer);

time_t형은 운영체제마다 타입이 다르며 윈도우의 경우 4바이트 정수로 표현하고
time_t형 포인터를 인수로 받아 조사된 시간을 리턴합니다.

time 함수는 1970년 1월 1일 자정이후 경과된 초를 조사합니다. (세계표준시)
ctime 함수는 time함수의 경과초를 문자열로 출력하며 지역설정에 맞게 시간을 조절할 수 있죠
출력시  개행문자를 자동으로 끝에 삽입합니다.


위 두 함수는 시간을 출력해주되 영어로 저장되고 출력후 알아서 줄바꿈을 하기때문에 조금 애용하기엔 불편합니다.


char *_strdate(char *datestr);
char *_strtime(char *timestr);

_strdate 함수는 MM/DD/YY 포맷으로 날짜를 구하여 datestr 버퍼에 복사한다.
_strtime 함수는 HH:MM:SS 포맷으로 구해서 timestr 버퍼에 복사한다.

24시간제로 시간을 나타내며 버퍼는 널문자까지 고려하여 9바이트 이상이어야 한다.
(문자열 배열)

YY는 연도, MM은 월, DD는 일

HH 는 시간 MM은 분 SS는 초 단위입니다.

9바이트이상의 문자열 배열 예) char t[9] 이상되는 배열에 함수를 사용하시면 해당시간을 입력시켜주죠


struct tm *gmtime(const time_t *timer);
struct tm *localtime(const time_t *timer);
time_t mktime(struct tm *timeptr);


gmtime 함수와 localtime 함수는 time_t형의 값을 헤더파일내에 선언되어있는 tm 구조체형태로 변환한다.
gmtime은 세계표준시, localtime은 지역시간으로 변환한다.

mktime 함수는 반대로 tm 구조체형식을 time_t 형식으로 바꾼다.


struct tm {
       int tm_sec;     /* seconds after the minute - [0,59] */   초(0~59)
       int tm_min;     /* minutes after the hour - [0,59] */       분(0~59)
       int tm_hour;    /* hours since midnight - [0,23] */        시(0~23)
       int tm_mday;    /* day of the month - [1,31] */             날짜(1~31)
       int tm_mon;     /* months since January - [0,11] */     월(0~11)
       int tm_year;    /* years since 1900 */                          1990년도이후 경과년수
       int tm_wday;    /* days since Sunday - [0,6] */           요일(0~6) 0이 일요일
       int tm_yday;    /* days since January 1 - [0,365] */      년중날짜(0~365)
       int tm_isdst;   /* daylight savings time flag */               일광 절약 시간과의 차
};

    time_t t;
    tm *pt;

    time(&t);
    pt=localtime(&t);

    printf("현재 시간 %d년 %d월 %d일 %d시 %d분 %d초입니다.\n",
         pt->tm_year+1900,pt->tm_mon+1,pt->tm_mday,
         pt->tm_hour,pt->tm_min,pt->tm_sec);;

실행결과 : 현재 시간 2008년 1월 17일 14시 13분 39초입니다.

위 gmtime과 localtime은 기본적으로 헤더파일에 정의되어있는 tm구조체에 시간별로 나누어 데이터를 저장해두기에 필요한 데이터만 뽑아서 사용할 수 있다는 장점이 있습니다. 위의 예제 참조하시면 이용하시는데 불편은 없을것이라 생각됩니다.



char *asctime(const struct tm *timeptr);
size_t strftime(char *strDest, size_t maxsize, const char *format, const struct tm *timeptr);

asctime 함수는 tm 구조체를 문자열로 바꾼다. 다만 영어이며 개행문자도  포함되어있다.

strftime 함수는 시간을 다양한 방식으로 변경하는데 첫번째 인수로 버퍼, 두번째 인수로 버퍼의 길이 세번째 인수로 포맷 방법, 네번째 인수로 tm 구조체를 넣는다.
포맷 형식은 %Y %B %D %HH 등 %의 여러가지 서식을 사용한다.
다만, 모두 영문으로 출력된다.

위에서 사용한 tm구조체를 문자열로 바꾸어주는 함수인데, 전부 영어형식이라 자주 쓰이지는 않습니다.


colck_t clock();

clock_t 타입은 long 형으로 정의되어 있으며 함수가 조사한 값을 CLOCKS_PER_SEC 값으로 나누면 프로그램 실행후의 경과 초를 알 수 있다.
값은 시스템에따라 다르며 윈도우에서는 1000으로 정의되어 있다.

프로그램 실행후 현재시간을 밀리초단위로 알려주는 함수입니다.

clock() / CLOCKS_PER_SEC  이럴경우 현재 프로그램 실행후의 경과초가 되는거죠


double difftime(time_t timer1, time_t timer2);

인수로 넘겨준 두개의 시간의 차이를 초단위로 리턴한다. (timer2 - timer1)

http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10104&eid=nCzwy7UFoBFtqmwNclLzvdo83jv4XfeK&qb=Y3RpbWUgsLPH4A==&pid=f5/oMsoi5UZssuzi4Hhsss--417707&sid=SJ-oM2rVn0gAAAPBVEc

분류 :
Programming
조회 수 :
25417
등록일 :
2008.08.11
23:43:09 (*.234.246.12)
엮인글 :
https://www.rain9.com/xe/tc_backup/2753/e51/trackback
게시글 주소 :
https://www.rain9.com/xe/tc_backup/2753
List of Articles
번호 제목 글쓴이 날짜 조회 수
140 ETC [시외버스] 부천, 안양 <-> 속초,양양 시간표 [1] file 엔신 2009-01-16 15813
139 Windows 윈도우즈 비스타 원격 데스크톱 다중 접속 [2] 엔신 2009-01-13 12128
138 Ambiguous 프로그램 제거 툴 - Revo Uninstaller [1] file 엔신 2009-01-10 10648
137 Ambiguous 일회성 이메일 yopmail.com file 엔신 2009-01-10 28694
136 CCNA GRE Tunneling file 엔신 2008-12-17 14159
135 Windows 비스타(Vista) 울티메이트(Ultimate) 서비스(Services) 설정 file 엔신 2008-12-13 10042
134 Security Nessus 설치, 사용법 file 엔신 2008-12-11 93609
133 Security Backtrack3 Final에서 sshd 가동하기 [2] 엔신 2008-12-08 11677
132 ETC 노트북 MAC Address(맥어드레스), 제품번호(SN) secret 엔신 2008-11-29  
131 Ambiguous 디스크 조각모음(Defragmenter) 벤치마크 기사 정리~ file 엔신 2008-10-14 12340
130 Ambiguous 구글(google) 애플리케이션(Apps)의 cname 안내 오류로 인한 혼란가중 [2] file 엔신 2008-09-29 15018
129 Security 어셈 레퍼런스(?) 엔신 2008-09-17 6881
128 Programming strcpy()와 memcpy() 엔신 2008-08-20 9764
127 Programming 널 포인터(NULL Pointer) 엔신 2008-08-16 8671
126 Programming time.h 시간 2 엔신 2008-08-12 8340
» Programming time.h 시간 엔신 2008-08-11 25417
124 Programming 문자열 처리 함수 < string.h > [2] 엔신 2008-07-26 9743
123 ETC 책책책 책을 읽읍시다 file 엔신 2008-07-02 7866
122 Ambiguous MBR 디스크와 GPT 디스크 엔신 2008-06-20 14496
121 Windows 환상의 psexec.exe 사용법 엔신 2008-06-19 22452