헤더 파일 <time.h>
time_t 타입
>> 시간을 다루기 위해서 만들어진 데이터 타입
32, 64비트 정수값으로 표현
1970년 1월 1일 00:00 UTC (유닉스 타임)이후 경과된 초를 정수값으로 표현
tm 구조체
struct tm
{
int tm_sec; // seconds after the minute - [0, 60] including leap second
int tm_min; // minutes after the hour - [0, 59]
int tm_hour; // hours since midnight - [0, 23]
int tm_mday; // day of the month - [1, 31]
int tm_mon; // months since January - [0, 11]
int tm_year; // years 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
};
int tm_mon; 은 0월~11월 까지 사용하기 위해서 +1 을 써야한다.
tm_year; 는 1900년도 부터 년을 계산하기 때문에 +1900 을 해줘야한다.
time()
time_t 데이터 타입 반환
time_t 의 포인터 타입 매개변수
1970년 1월 1일 0시(유닉스 타임)부터 현재까지 흐른 시간을 time_t 타입으로 반환
localtime()
timer에는 변환하는 시간 값에 대한 포인터를 지정
시간은 년/월/일 등의 값을 나타내는 멤버가 있는 tm 구조체를 반환
#include <stdio.h>
#include <time.h>
int main() {
time_t timer;
struct tm* t;
timer = time(NULL);
t = localtime(&timer);
char tim[40] = { 0, };
sprintf(tim, "%d년 %d월 %d일 - %d시 %d분 %d초",
t->tm_year + 1900,
t->tm_mon + 1,
t->tm_mday,
t->tm_hour,
t->tm_min,
t->tm_sec);
printf("%s", tim);
}
2022년 10월 13일 - 22시 22분 8초
'C > C' 카테고리의 다른 글
strcpy(), strncpy() 문자열 복사(copy) (0) | 2022.10.19 |
---|---|
fopen(), fclose() 파일입출력 (0) | 2022.10.15 |
파일 입출력 (0) | 2022.10.11 |
모듈화 2 - 구조체 (0) | 2022.10.08 |
모듈화 1 (0) | 2022.10.08 |