C/C Library

localtime

memora 2024. 7. 23. 22:32

Index로 돌아가기

 

 【기  능】 time_t 형식의 시간정보를 tm구조체 정보로 변환
 
 【소  속】 time.h 
   #include <time.h>
 
 【서  식】  
   struct tm *localtime(const time_t *timeinfo);
 
 【설  명】  
   timeinfo에 들어있는 데이터를 현지시간으로 변환해서 tm구조체에 넣어준다.
   timeinfo에 들어있는 데이터는 time함수를 사용하여 취득한 time_t 형식의 데이터 이어야 한다.
 
 【인  수】  
   const time_t *timeinfo : time_t 형식 시간 데이터

 【리턴 값】
  변환된 데이터가 보존 되어 있는 tm 구조체의 어드레스
 
구조체 tm은 time.h안에서 선언되어 있고 다음과 같은 구조를 가진다.
struct tm {
  int tm_sec;      /* 초 [0-61] 최대 2초까지 윤초를 고려 */
  int tm_min;      /* 분 [0-59] */
  int tm_hour;     /* 시 [0-23] */
  int tm_mday;     /* 일 [1-31] */
  int tm_mon;      /* 월 [0-11] 0부터 시작된다 */
  int tm_year;     /* 년 [1900년 부터의 경과년수] */
  int tm_wday;     /* 요일 [0:일 1:월 ... 6:토] */
  int tm_yday;     /* 년내의 연속번호 [0-365] 0부터 시작한다*/
  int tm_isdst;    /* 서머타임을 사용하지 않을때는 0 */
};

 【사용 예】
  #include <stdio.h>
  #include <time.h>

int main(void)
{
   time_t timeinfo;
   struct tm *kt;
   char *wday[] = {"일","월","화","수","목","금","토"};

   /* 현재시간의 취득 */
   time(&timeinfo);

   /* 현재시간을 한국시간으로 변환 */
   kt = localtime(&timeinfo);
   printf("\n한국시간\n");
   printf("년  : %d\n",kt->tm_year+1900);
   printf("월  : %d\n",kt->tm_mon+1);
   printf("일  : %d\n",kt->tm_mday);
   printf("요일: %s\n",wday[kt->tm_wday]);
   printf("시  : %d\n",kt->tm_hour);
   printf("분  : %d\n",kt->tm_min);
   printf("초  : %d\n",kt->tm_sec);

   return 0;
}


  【결   과】
한국시간
년  : 2024
월  : 7
일  : 23
요일: 화
시  : 22
분  : 27
초  : 48

 

Index로 돌아가기

반응형