다음을 통해 공유


mktime, _mktime32, _mktime64

로컬 시간을 일정 값으로 변환 합니다.

time_t mktime(
   struct tm *timeptr 
);
__time32_t _mktime32(
   struct tm *timeptr 
);
__time64_t _mktime64(
   struct tm *timeptr 
);

매개 변수

  • timeptr
    시간구조체포인터입니다. 참조 하십시오 asctime.

반환 값

_mktime32 지정한 일정 시간 인코딩된 형식의 값으로 반환 합니다. time_t.경우 timeptr 자정 utc 1970 년 1 월 1 일 이전 날짜를 참조 하거나 일정 시간 수 없습니다 경우 표현, _mktime32 형식으로 캐스팅 하는 – 1을 반환 합니다. time_t.사용 하는 경우 _mktime32 경우 timeptr 03시 14분: 07 2038 1 월 19 일에서 협정 세계시 (UTC) 이후 날짜에 대 한 참조 형식으로 캐스팅-1 반환 됩니다 time_t.

_mktime64형식으로 캐스팅 하는 – 1을 반환 합니다 __time64_t 경우 timeptr 23시 59분: 59, 3000, 12 월 31 UTC 이후 날짜를 참조 합니다.

설명

mktime, _Mktime32_mktime64 기능을 수행 합니다 (가능한 경우 완료 되지 않은) 시간 제공 된구조체가리키는 의해변환하다 timeptr 값 정규화에 완전 하 게 정의 된구조체를 하 고 다음 변환에 time_t시간 값을 일정.같은인코딩반환 값으로 변환 된 시간을 가지는 시간함수입니다. 원래 값은 tm_wdaytm_yday 의 구성 요소는 timeptr구조체는 무시 하 고 원래 값의 다른 구성 요소는 정상 범위에 제한 되지 않습니다.

mktime하인라인함수입니다 _mktime64하지 않는 한, _USE_32BIT_TIME_T 정의대/소문자에 해당 하는 _mktime32.

UTC _ 조정 후mktime32 핸들이 날짜 1970 년 1 월 1 일 자정에서 03시 14분: 07에, 2038 년 1 월 19 일._mktime641970 년 1 월 1 일 23시 59분: 59, 3000 년 12 월 31, 자정부터 날짜를 처리 합니다.이러한 함수는-1을 반환 합니다이 조정 될 수 있습니다 (캐스팅 time_t, __time32_t 또는 __time64_t) 지정한 날짜 범위 내에서 지만.카이로, 두 시간을 UTC는 이집트에 있는 경우 예를 들어, 두 시간 우선의 지정한 날짜에서 뺍니다 timeptr. 이제 날짜의 범위를 놓지.

이러한 함수는 수 고유효성을 검사하다하는 데 사용할에 tm구조체. 성공적으로 이러한 함수 값을 설정 하는 경우 tm_wdaytm_yday 적절 하 고 설정할 구성 요소가 지정 된 달력 날짜를 나타냅니다 있지만 강제 정상 범위에 해당 값을 사용 합니다.최종 값의 tm_mday 때까지 설정 되어 있지 않은 tm_montm_year 결정 됩니다.지정 하는 경우는 tm 구조체시간 설정의 tm_isdst필드를:

  • 표준 시간이 적용 되는 나타내려면 0 (0).

  • 일광 절약 시간이 적용 되는 나타내는 0 보다 큰 값입니다.

  • 표준 시간이 나 일광 절약 시간이 적용 되는지는 C 런타임라이브러리코딩하다를영보다 작은 값을 계산 합니다.

C 런타임라이브러리에서 일광 절약 시간 동작이 결정 됩니다 있는 TZ환경변수입니다. 경우 TZ 설정 되지 않았습니다, Win32API 호출GetTimeZoneInformation 일광 절약 시간 정보를 운영 체제에서 얻을 하는 데 사용 됩니다. 이 작업이 실패 하면라이브러리의 일광 절약 시간제 계산을 구현 하기 위한 미국 ' 규칙이 사용 됩니다 가정 합니다.tm_isdst 은 필수필드입니다.그렇지 않은 경우 설정 값은 정의 되어 있지 않습니다 및 이러한 함수에서반환 값을 예측할 수 없습니다.경우 timeptr 가리키는 tm구조체에 대 한 이전 호출에서 반환 하 asctime, gmtime, 또는 localtime (또는 변형 이러한 함수)의 tm_isdst필드올바른 값을 포함 합니다.

참고 gmtimelocaltime (및 _gmtime32, _gmtime64, _localtime32, 및 _localtime64)스레드당 단일 버퍼를 변환에 사용 합니다.이 버퍼를 제공 하는 경우 mktime, _mktime32 또는 _mktime64, 이전 내용을 삭제 됩니다.

이러한매개 변수는유효성을 검사하다함수.경우 timeptr null포인터를의 설명에 따라잘못된매개 변수처리기가 호출 매개 변수 유효성 검사. 실행 계속 수 있으면 함수는-1을 반환 하 고 설정 errnoEINVAL.

요구 사항

루틴

필수헤더

mktime

<time.h>

_mktime32

<time.h>

_mktime64

<time.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

라이브러리

모든 버전의 C 런타임 라이브러리.

예제

// crt_mktime.c
/* The example takes a number of days
 * as input and returns the time, the current
 * date, and the specified number of days.
 */

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

int main( void )
{
   struct tm  when;
   __time64_t now, result;
   int        days;
   char       buff[80];

   time( &now );
   _localtime64_s( &when, &now );
   asctime_s( buff, sizeof(buff), &when );
   printf( "Current time is %s\n", buff );
   days = 20;
   when.tm_mday = when.tm_mday + days;
   if( (result = mktime( &when )) != (time_t)-1 ) {
      asctime_s( buff, sizeof(buff), &when );
      printf( "In %d days the time will be %s\n", days, buff );
   } else
      perror( "mktime failed" );
}

샘플 출력

Current time is Fri Apr 25 13:34:07 2003

In 20 days the time will be Thu May 15 13:34:07 2003

해당 .NET Framework 항목

System::DateTime::DateTime

참고 항목

참조

시간 관리

asctime, _wasctime

gmtime, _gmtime32, _gmtime64

localtime, _localtime32, _localtime64

_mkgmtime, _mkgmtime32, _mkgmtime64

time, _time32, _time64