본문으로 바로가기

바다야크

  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 time_t형 값에서 세계 표준 시간 정보 구하기 함수 gmtime()

C언어 time_t형 값에서 세계 표준 시간 정보 구하기 함수 gmtime()

· 댓글개 · 바다야크

C함수 ime_t형 값에서 세계 표준 시간 정보 구하기 gmtime()

time_t 값에서 세계 표준 시간을 구하며, 시간 정보는 아래와 같은 struct 값으로 구해집니다.

  • 헤더: time.h
  • 형태: struct tm *localtime(const time_t *t)
  • 인수: time_t *t 시간 time_t 값
  • 반환: struct tm * 시간에 대한 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언어 gmtime() 함수 예제

#include <stdio.h>
#include <time.h>

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

   time( &current_time);

   struct_time = localtime( &current_time);

   printf( "localtime()----------------\n\n");
   printf( "%4d 년\n",       struct_time->tm_year +1900);
   printf( "  %2d 월(0-11)\n", struct_time->tm_mon  +1   );
   printf( "  %2d 일(1-31)\n", struct_time->tm_mday      );
   printf( "%s요일\n"        , week[struct_time->tm_wday]);
   printf( "  %2d 시(0-23)\n", struct_time->tm_hour      );
   printf( "  %2d 분(0-59)\n", struct_time->tm_min       );
   printf( "  %2d 초(0-59)\n", struct_time->tm_sec       );
   printf( "1월 1일 이후의 날짜 수: %3d \n", struct_time->tm_yday);

   if      ( 0 <  struct_time->tm_isdst)  printf( "썸머 타임 사용\n"     );
   else if ( 0 == struct_time->tm_isdst)  printf( "썸머 타임 사용 안함\n");
   else                                   printf( "썸머 타임 사용 불가\n");

   printf( "\n");
   printf( "gmtime()----------------\n\n");
   struct_time = gmtime( &current_time);

   printf( "%4d 년\n",       struct_time->tm_year +1900);
   printf( "  %2d 월(0-11)\n", struct_time->tm_mon  +1   );
   printf( "  %2d 일(1-31)\n", struct_time->tm_mday      );
   printf( "%s요일\n"        , week[struct_time->tm_wday]);
   printf( "  %2d 시(0-23)\n", struct_time->tm_hour      );
   printf( "  %2d 분(0-59)\n", struct_time->tm_min       );
   printf( "  %2d 초(0-59)\n", struct_time->tm_sec       );
   printf( "1월 1일 이후의 날짜 수: %3d\n", struct_time->tm_yday);

   if      ( 0 <  struct_time->tm_isdst)  printf( "썸머 타임 사용\n"     );
   else if ( 0 == struct_time->tm_isdst)  printf( "썸머 타임 사용 안함\n");
   else                                   printf( "썸머 타임 사용 불가\n");

   return 0;
}

C언어 gmtime() 예제 실행 결과

]$ ./a.out
localtime()----------------

2020 년
   3 월(0-11)
  16 일(1-31)
월요일
  11 시(0-23)
  53 분(0-59)
  24 초(0-59)
1월 1일 이후의 날짜 수:  75
썸머 타임 사용 안함

gmtime()----------------

2020 년
   3 월(0-11)
  16 일(1-31)
월요일
   2 시(0-23)
  53 분(0-59)
  24 초(0-59)
1월 1일 이후의 날짜 수:  75
썸머 타임 사용 안함
]$
SNS 공유하기
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.