gmtime, _gmtime32, _gmtime64

time_t 시간 값을 tm 구조체로 변환합니다. 이러한 함수의 더 안전한 버전을 사용할 수 있습니다. gmtime_s, _gmtime32_s, _gmtime64_s(을)를 참조하세요.

구문

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

매개 변수

sourceTime
저장된 시간에 대한 포인터입니다. 시간은 1970년 1월 1일 자정(00:00:00)(UTC(협정 세계시)) 이후 경과한 시간(초)으로 표현됩니다.

반환 값

tm 형식의 구조체에 대한 포인터입니다. 반환된 구조체의 필드에는 현지 시간이 아닌 UTC로 계산된 sourceTime 인수 값이 포함됩니다. 각 구조체 필드는 다음과 같이 int 형식입니다.

필드 설명
tm_sec 분 후 초(0 - 59).
tm_min 시간 후 분(0 - 59).
tm_hour 자정 이후의 시간(0 - 23).
tm_mday 월의 일(1 - 31).
tm_mon 월(0 - 11; 1월 = 0).
tm_year 연도(현재 연도 - 1900).
tm_wday 요일(0 - 6; 일요일 = 0).
tm_yday 연중 일(0 - 365; 1월 1일 = 0).
tm_isdst gmtime의 경우 항상 0입니다.

gmtime, mktime, mkgmtimelocaltime의 32비트 및 64비트 버전은 모두 변환을 위해 스레드당 하나의 공통 tm 구조체를 사용합니다. 이러한 함수 중 하나를 호출할 때마다 이전 호출의 결과가 삭제됩니다. sourceTime가 1970년 1월 1일 자정(UTC) 이전의 날짜를 나타내면 gmtimeNULL을 반환합니다. 오류 반환이 없습니다.

__time64_t 구조를 사용하는 _gmtime64은(는) UTC 3000년 12월 31일 23:59:59까지 날짜를 표현할 수 있습니다. _gmtime32은(는) UTC 2038년 1월 18일 23:59:59까지의 날짜만 나타냅니다. 1970년 1월 1일 자정은 두 함수 모두에 대한 날짜 범위의 하한입니다.

gmtime_gmtime64로 계산되는 인라인 함수이며 time_t_USE_32BIT_TIME_T가 정의되지 않은 경우 __time64_t와 동일합니다. 컴파일러에서 time_t를 이전 32비트 time_t로 해석하게 해야 하는 경우 _USE_32BIT_TIME_T를 정의할 수 있지만, 이렇게 하면 gmtime_gmtime32에 인라인되고 time_t__time32_t로 정의됩니다. 64비트 플랫폼에서는 허용되지 않으므로 _USE_32BIT_TIME_T을(를) 사용하지 않는 것이 좋습니다. 어쨌든 애플리케이션은 2038년 1월 18일 이후에 실패할 수 있습니다.

이러한 함수는 해당 함수 매개 변수의 유효성을 검사합니다. sourceTime이(가) NULL 포인터이거나 sourceTime 값이 음수인 경우 이러한 함수는 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출합니다. 계속해서 실행하도록 허용된 경우 이 함수는 NULL을 반환하며 errnoEINVAL로 설정합니다.

설명

_gmtime32 함수는 sourceTime 값을 분할하고 TIME.H에 정의된 tm 형식의 정적으로 할당된 구조체에 저장합니다. sourceTime 값은 대개 time 함수 호출에서 가져옵니다.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

루틴에서 반환된 값 필수 C 헤더 필수 C++ 헤더
gmtime, _gmtime32, _gmtime64 <time.h> <ctime> 또는 <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 );
}
Coordinated universal time is Tue Feb 12 23:11:31 2002

참고 항목

시간 관리
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