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_wday 및 tm_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_wday 및 tm_yday 적절 하 고 설정할 구성 요소가 지정 된 달력 날짜를 나타냅니다 있지만 강제 정상 범위에 해당 값을 사용 합니다.최종 값의 tm_mday 때까지 설정 되어 있지 않은 tm_mon 및 tm_year 결정 됩니다.지정 하는 경우는 tm 구조체시간 설정의 tm_isdst필드를:
표준 시간이 적용 되는 나타내려면 0 (0).
일광 절약 시간이 적용 되는 나타내는 0 보다 큰 값입니다.
표준 시간이 나 일광 절약 시간이 적용 되는지는 C 런타임라이브러리코딩하다를영보다 작은 값을 계산 합니다.
C 런타임라이브러리에서 일광 절약 시간 동작이 결정 됩니다 있는 TZ환경변수입니다. 경우 TZ 설정 되지 않았습니다, Win32API 호출GetTimeZoneInformation 일광 절약 시간 정보를 운영 체제에서 얻을 하는 데 사용 됩니다. 이 작업이 실패 하면라이브러리의 일광 절약 시간제 계산을 구현 하기 위한 미국 ' 규칙이 사용 됩니다 가정 합니다.tm_isdst 은 필수필드입니다.그렇지 않은 경우 설정 값은 정의 되어 있지 않습니다 및 이러한 함수에서반환 값을 예측할 수 없습니다.경우 timeptr 가리키는 tm구조체에 대 한 이전 호출에서 반환 하 asctime, gmtime, 또는 localtime (또는 변형 이러한 함수)의 tm_isdst필드올바른 값을 포함 합니다.
참고 gmtime 및 localtime (및 _gmtime32, _gmtime64, _localtime32, 및 _localtime64)스레드당 단일 버퍼를 변환에 사용 합니다.이 버퍼를 제공 하는 경우 mktime, _mktime32 또는 _mktime64, 이전 내용을 삭제 됩니다.
이러한매개 변수는유효성을 검사하다함수.경우 timeptr null포인터를의 설명에 따라잘못된매개 변수처리기가 호출 매개 변수 유효성 검사. 실행 계속 수 있으면 함수는-1을 반환 하 고 설정 errno 에 EINVAL.
요구 사항
루틴 |
필수헤더 |
---|---|
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
참고 항목
참조
localtime, _localtime32, _localtime64