C 표준 라이브러리의 char *ctime(const time_t *timer) 함수는 인자로 전달된 타이머 값을 기반으로 현지 시간(local time)을 나타내는 문자열을 반환합니다.
반환되는 문자열은 다음과 같은 형식을 따릅니다 — Www Mmm dd hh:mm:ss yyyy. 각 부분의 의미는 아래와 같습니다.
- Www : 요일 (예: Thu, Fri)
- Mmm : 월 이름 (예: May, Jun)
- dd : 일 (날짜)
- hh:mm:ss : 시:분:초
- yyyy : 연도
함수 문법
ctime() 함수의 기본 문법은 다음과 같습니다.
char *ctime(const time_t *timer)
이 함수는 캘린더 시간(calendar time)이 담겨 있는 time_t 타입 변수에 대한 포인터를 인자로 받습니다. 그리고 사람이 읽기 쉬운(human-readable) 형식으로 날짜와 시간 정보가 포함된 문자열을 반환합니다.
사용 예제
다음 예제는 현재 시간을 구한 뒤, ctime() 함수를 사용해 문자열로 출력하는 방법을 보여줍니다.
#include <stdio.h>
#include <time.h>
int main () {
time_t curtime;
time(&curtime);
printf("Current time = %s", ctime(&curtime));
return(0);
}실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Current time = Thu May 23 17:18:43 2019
참고 사항
ctime() 함수는 내부적으로 반환된 문자열을 정적(static) 버퍼에 저장하므로, 함수를 여러 번 호출하면 이전에 반환된 문자열이 덮어쓰여질 수 있습니다. 따라서 여러 시간 값을 동시에 보관해야 하는 경우에는 각 문자열을 별도로 복사해서 사용하는 것이 안전합니다. 또한 스레드 환경에서는 재진입(reentrant) 가능한 ctime_r() 함수를 사용하는 것이 권장됩니다.