gmtime_s, _gmtime32_s, _gmtime64_s
시간 값을 구조체로 변환합니다. CRT의 보안 기능 에 설명된 대로 보안 향상 기능이 포함 된 _gmtime32, _gmtime64 의 버전입니다.
errno_t gmtime_s(
struct tm* _tm,
const __time_t* time
);
errno_t _gmtime32_s(
struct tm* _tm,
const __time32_t* time
);
errno_t _gmtime64_s(
struct tm* _tm,
const __time64_t* time
);
매개 변수
_tm
tm 구조체에 대한 포인터입니다. 반환 된 구조체의 필드는 로컬 시간 대신 UTC의 timer 인수의 계산 값을 보유합니다.time
저장 된 시간에 대한 포인터입니다. 시간은 1970년 1월 1일 자정(00:00:00), coordinated universal time (UTC) 으로 부터 경과 된 초 단위의 시간을 나타냅니다.
반환 값
성공시 0입니다. 오류가 발생한 경우 반환 값은 오류 코드입니다. 오류 코드는 Errno.h에서 정의 됩니다. 이러한 오류 목록은 errno 를 참조하십시오.
오류 조건
_tm |
time |
반환 |
_tm의 값 |
---|---|---|---|
NULL |
any |
EINVAL |
수정 되지 않음 |
NULL 이 아닙니다 (유효한 메모리 포인트) |
NULL |
EINVAL |
모든 필드를-1로 설정 합니다. |
NULL이 아닙니다. |
< 0 |
EINVAL |
모든 필드를-1로 설정 합니다. |
첫 번째 두 오류 조건에 해당 하는 경우, 잘못 된 매개 변수 처리기가 매개 변수 유효성 검사 에 설명된 대로 호출됩니다. 계속해서 실행하도록 허용된 경우, 이러한 함수는 errno 를 EINVAL 로 설정하고 EINVAL을 반환합니다.
설명
_gmtime32_s 함수는 time 값을 분할하고 Time.h 에 정의 된 tm 형식의 구조체에 저장합니다. 구조체의 주소가 _tm 에 전달됩니다. time 의 값은 종종 time 함수에 대한 호출에 의해 얻어집니다.
참고
대상 환경은 일광 절약 시간제가 적용 되는지 확인 합니다.C 런타임 라이브러리는 일광 절약 시간제(DST)의 계산을 실행하는데 미국의 규칙을 사용한다고 가정합니다.
구조체 필드의 각각은 다음 표에 나와있는 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입니다.
__time64_t 구조체를 사용하는 _gmtime64_s는 gmtime32_s 가 2038년 1월 19일 03:14:07 UTC 까지의 날짜를 나타낼 수있는 반면, 3000년 12월 31일 23:59:59 UTC 까지의 날짜를 나타 낼 수 있습니다. 1970년 1월 1일 자정은 모든 함수의 날짜 범위의 하한 값입니다.
gmtime_s는 _gmtime64_s로 계산되는 인라인 함수이고 time_t은 __time64_t과 동일합니다. 컴파일어가 이전 32 비트 time_t 로 time_t를 해석 할 수 있도록 하는 경우, _USE_32BIT_TIME_T 를 정의할 수 있습니다. 이렇게 하면 _gmtime32_s 에 인라인 하기 위해 gmtime_s 를 호출합니다. 2038 년 1 월 18 일 후 응용 프로그램이 실패할 수 있으며 64 비트 플랫폼에서 사용할 수 없기 때문에 권장 되지 않습니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
gmtime_s |
<time.h> |
_gmtime32_s |
<time.h> |
_gmtime64_s |
<time.h> |
호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.
예제
// crt_gmtime64_s.c
// This program uses _gmtime64_s to convert a 64-bit
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime_s to
// convert this structure to an output string.
#include <time.h>
#include <stdio.h>
int main( void )
{
struct tm newtime;
__int64 ltime;
char buf[26];
errno_t err;
_time64( <ime );
// Obtain coordinated universal time:
err = _gmtime64_s( &newtime, <ime );
if (err)
{
printf("Invalid Argument to _gmtime64_s.");
}
// Convert to an ASCII representation
err = asctime_s(buf, 26, &newtime);
if (err)
{
printf("Invalid Argument to asctime_s.");
}
printf( "Coordinated universal time is %s\n",
buf );
}
해당 .NET Framework 항목
참고 항목
참조
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
localtime_s, _localtime32_s, _localtime64_s