다음을 통해 공유


gmtime, _gmtime32, _gmtime64

시간 값을 구조체로 변환합니다. 이러한 기능의 더 안전한 버전을 사용할 수 있습니다. gmtime_s, _gmtime32_s, _gmtime64_s를 참조하십시오.

struct tm *gmtime( 
   const time_t *timer 
);
struct tm *_gmtime32( 
   const __time32_t *timer 
);
struct tm *_gmtime64( 
   const __time64_t *timer 
);

매개 변수

  • timer
    저장 된 시간에 대한 포인터입니다. 시간은 1970년 1월 1일 자정(00:00:00), coordinated universal time (UTC) 으로 부터 경과 된 초 단위의 시간을 나타냅니다.

반환 값

tm 형식의 구조체에 대한 포인터입니다. 반환 된 구조체의 필드는 로컬 시간 대신 UTC의 timer 인수의 계산 값을 보유합니다. 다음과 같이 구조체의 각 필드는 int 형식을 가집니다.

  • tm_sec
    Seconds after minute (0 – 59).

  • tm_min
    Minutes after hour (0 – 59).

  • tm_hour
    Hours since midnight (0 – 23).

  • tm_mday
    Day of month (1 – 31).

  • tm_mon
    Month (0 – 11; January = 0).

  • tm_year
    Year (current year minus 1900).

  • tm_wday
    Day of week (0 – 6; Sunday = 0).

  • tm_yday
    Day of year (0 – 365; January 1 = 0).

  • tm_isdst
    gmtime에 대해 항상 0입니다.

gmtime, mktime, mkgmtime, 및 localtime 의 32Bit와 64Bit 버전은 모두 변환에 대해 스레드당 하나의 공통된 tm 구조체를 사용합니다. 이러한 함수 중 하나를 호출 할 때마다 이전 호출의 결과를 삭제합니다. 만약 timer 가 1970년 1월 1일 자정 이전의 날짜를 나타내면 gmtime 는 NULL 값을 반환합니다. 반환되는 오류가 없습니다.

__time64_t 구조체를 사용하는 _gmtime64는 _gmtime32 가 2038년 1월 19일 03:14:07 UTC 까지의 날짜를 나타낼 수있는 반면, 3000년 12월 31일 23:59:59 UTC 까지의 날짜를 나타 낼 수 있습니다. 1970년 1월 1일 자정은 두 함수의 날짜 범위의 하한 값입니다.

gmtime 는 _gmtime64 를 계산하는 인라인 함수입니다. time_t 는 _USE_32BIT_TIME_T 가 정의 되지 않은 경우에 __time64_t 에 해당합니다. 만약 컴파일러에게 강제로 time_t 를 이전 32 비트 time_t 로 해석하게 해야하는 경우 _USE_32BIT_TIME_T 를 정의 할 수 있지만 이렇게 하면 _gmtime32 와 __time32_t 로 정의 될 time_t 에 gmtime 가 인라인 되도록 합니다. 이것은 64-Bit 플랫폼에서는 지원하지 않고 2038년 1월 18일 이후 어플리케이션이 실패하는 경우가 발생 할 수 있으므로 이러한 방법을 추천하지 않습니다.

이러한 함수는 해당 함수 매개 변수의 유효성을 검사합니다. 만약 timer 가 null 포인터이거나 timer 값이 음수인 경우 이러한 함수는 매개 변수 유효성 검사 에 설명 된 것과 같이 잘못된 매개 변수 핸들러를 호출합니다. 실행을 계속할 수 있는 경우 함수는 NULL 값을 반환하고 errno 를 EINVAL로 설정합니다.

설명

_gmtime32 는 timer 값을 분할 하고 TIME.H 에 정의되어있는 tm 형식의 정적으로 할당 된 구조체에 저장합니다. timer 의 값은 일반적으로 time 함수에 대한 호출에 의해 얻어집니다.

참고

대부분의 경우에서, 대상 환경은 일관 절약 시간제가 적용되는지 확인하려고 합니다.C 런타임 라이브러리는 일광 절약 시간제(DST)의 계산을 실행하는데 미국의 규칙을 사용한다고 가정합니다.

요구 사항

루틴

필수 헤더

gmtime

<time.h>

_gmtime32

<time.h>

_gmtime64

<time.h>

호환성에 대한 자세한 내용은 호환성을 참조하십시오.

예제

// crt_gmtime.c
// compile with: /W3
// This program uses _gmtime64 to convert a long-
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime to
// convert this structure to an output string.
 
#include <time.h>
#include <stdio.h>

int main( void )
{
   struct tm *newtime;
   __int64 ltime;
   char buff[80];

   _time64( &ltime );

   // Obtain coordinated universal time:
   newtime = _gmtime64( &ltime ); // C4996
   // Note: _gmtime64 is deprecated; consider using _gmtime64_s
   asctime_s( buff, sizeof(buff), newtime );
   printf( "Coordinated universal time is %s\n", buff );
}
  

해당 .NET Framework 항목

참고 항목

참조

시간 관리

asctime, _wasctime

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime_s, _gmtime32_s, _gmtime64_s

localtime, _localtime32, _localtime64

_mkgmtime, _mkgmtime32, _mkgmtime64

mktime, _mktime32, _mktime64

time, _time32, _time64