모두의 코드
C 언어 레퍼런스 - localtime 함수
작성일 : 2010-12-30
이 글은 26267 번 읽혔습니다.
아직 C 언어와 친숙하지 않다면, 씹어먹는 C 언어 강좌를 보는 것이 어떻까요?
localtime
#include <time.h> // C++ 에서는 <ctime> struct tm* localtime(const time_t* timer);
time_t값을 이용하여 지역 시간을 기준으로 tm 구조체를 초기화한다.
timer
가 가리키는 time_t형 변수의 값을 이용하여 tm 구조체의 멤버들을 초기화 한 뒤 이를 가리키는 포인터를 리턴한다.
참고적으로 현재 시간을 구해와야 하는 경우 십중 팔구 이 함수를 사용하게 된다.
현재 시각을 구해오는 가장 간단한 방법
time_t rawtime; struct tm* timeinfo; time(&rawtime); timeinfo = localtime(&rawtime);
를 통해 timeinfo
가 가리키는 구조체에 현재 시각에 관련한 정보가 포함되게 된다. 예를 들어 timeinfo->tm_hour
을 하면 현재 몇 시인지 알아내올 수 있다. tm 구조체에 관련한 설명은 여기를 참조하여라.
인자
timer
time_t형 변수를 가리키는 포인터
리턴값
멤버들이 초기화된 tm 구조체를 가리키는 포인터가 리턴된다.
이 때 이 tm 구조체는 정적으로 할당된 메모리에 자리하고 있는데, gmtime 함수와 localtime 함수가 공유하고 있는 공간이다. 따라서 이들 함수들을 호출하게 되면 이 구조체에 쓰여져 있던 내용이 덮어 씌워지게 된다. 만일 이 함수가 리턴한 tm 구조체를 사용할 일이 있으면 다른 구조체에 복사해 놓는 것이 좋다.
실행 예제
/* 현재 시각을 출력한다. 이 예제는 http://www.cplusplus.com/reference/clibrary/ctime/localtime/ 에서 가져왔습니다. */ #include <stdio.h> #include <time.h> int main() { time_t rawtime; struct tm* timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); printf("Current local time and date: %s", asctime(timeinfo)); return 0; }
실행 결과
참고 자료
time : 현재 시간을 구한다.
댓글이
2 개 있습니다!
강좌에 관련 없이 궁금한 내용은
여기를 사용해주세요
또는 직접 입력하세요 (댓글 수정시 비밀번호가 필요합니다)
댓글을 불러오는 중입니다..