C함수 날짜와 시간 지정으로 날짜와 시간 정수 값 구하기 mktime()
struct tm 값으로 time_t 형 시간 값을 구합니다. 즉, 프로그래머가 원하는 시간의 time_t 값을 구합니다. struct tm의 구조는 아래와 같습니다.
- 헤더: time.h
- 형태: time_t mktime(struct tm *timeptr)
- 인수: struct tm *timeptr time_t 값을 구하기 위한 struct tm 값
- 반환: time_t struct tm 값으로 구해진 시간 정수 값
struct tm
struct tm
{
int tm_sec; /* Seconds. [0-60] (1 leap second) */
int tm_min; /* Minutes. [0-59] */
int tm_hour; /* Hours. [0-23] */
int tm_mday; /* Day. [1-31] */
int tm_mon; /* Month. [0-11] */
int tm_year; /* Year - 1900. */
int tm_wday; /* Day of week. [0-6] */
int tm_yday; /* Days in year.[0-365] */
int tm_isdst; /* DST. [-1/0/1]*/
#ifdef __USE_BSD
long int tm_gmtoff; /* Seconds east of UTC. */
__const char *tm_zone; /* Timezone abbreviation. */
#else
long int __tm_gmtoff; /* Seconds east of UTC. */
__const char *__tm_zone; /* Timezone abbreviation. */
#endif
};
C언어 mktime() 함수 예제
#include <stdio.h>
#include <time.h>
int main( void)
{
char *week[] = { "일", "월", "화", "수", "목", "금", "토"};
time_t user_time;
struct tm user_stime;
struct tm *ptr_stime;
user_stime.tm_year = 2007 -1900; // 주의 :년도는 1900년부터 시작
user_stime.tm_mon = 7 -1; // 주의 :월은 0부터 시작
user_stime.tm_mday = 25;
user_stime.tm_hour = 10;
user_stime.tm_min = 12;
user_stime.tm_sec = 55;
user_stime.tm_isdst = 0; // 썸머 타임 사용 안함
user_time = mktime( &user_stime);
ptr_stime = localtime( &user_time);
printf( "%4d 년\n" , ptr_stime->tm_year +1900);
printf( " %2d 월(0-11)\n", ptr_stime->tm_mon +1 );
printf( " %2d 일(1-31)\n", ptr_stime->tm_mday );
printf( "%s요일\n" , week[ptr_stime->tm_wday]);
printf( " %2d 시(0-23)\n", ptr_stime->tm_hour );
printf( " %2d 분(0-59)\n", ptr_stime->tm_min );
printf( " %2d 초(0-59)\n", ptr_stime->tm_sec );
printf( "1월 1일 이후의 날짜 수: %3d \n", ptr_stime->tm_yday);
if ( 0 < ptr_stime->tm_isdst) printf( "썸머 타임 사용\n" );
else if ( 0 == ptr_stime->tm_isdst) printf( "썸머 타임 사용 안함\n");
else printf( "썸머 타임 사용 불가\n");
return 0;
}
C언어 mktime() 예제 실행 결과
]$ ./a.out
2007 년
7 월(0-11)
25 일(1-31)
수요일
10 시(0-23)
12 분(0-59)
55 초(0-59)
1월 1일 이후의 날짜 수: 205
썸머 타임 사용 안함
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 strftime 함수 날짜와 시간 문자열 구하기 (0) | 2020.03.14 |
---|---|
C언어 time_t형 값에서 세계 표준 시간 정보 구하기 함수 gmtime() (0) | 2020.03.14 |
C언어 time_t형 값에서 지역 시간 정보 구하기 함수 localtime() (0) | 2020.03.14 |