다음을 통해 공유


localtime, _localtime32, _localtime64

시간 값을 변환 하 고 현지 표준 시간대를 수정 합니다.이러한 함수를 더 안전한 버전을 사용할 수 있습니다. see localtime_s, _localtime32_s, _localtime64_s.

struct tm *localtime(
   const time_t *timer 
);
struct tm *_localtime32(
   const __time32_t *timer
);
struct tm *_localtime64(
   const __time64_t *timer 
);

매개 변수

  • timer
    저장 된 시간에 대 한 포인터입니다.

반환 값

구조 결과에 대 한 포인터 반환 또는 NULL 날짜 함수에 전달 하면 됩니다.

  • 자정 전에 1970 년 1 월 1 일.

  • 03시 14분: 07, 2038 년 1 월 19 일 UTC 이후 (를 사용 하 여 _time32 및 time32_t).

  • 23시 59분: 59, 3000, 12 월 31 UTC 이후 (를 사용 하 여 _time64 및 __time64_t).

_localtime64사용 하는 __time64_t 구조, 날짜 23시 59분: 59부터, 3000 년 12 월 31에 협정 세계시 (UTC)를 표현 하는 반면 있습니다 _localtime32 통해 03시 14분: 07 2038 1 월 19 일에 UTC 날짜를 나타냅니다.

localtime산출 하는 인라인 함수 이며 _localtime64, 및 time_t 입니다 __time64_t.해석 하도록 컴파일러를 강제 하는 경우 time_t로 이전 32 비트 time_t를 정의할 수 있습니다 _USE_32BIT_TIME_T.그러면 이렇게 하면 localtime 평가 _localtime32.2038 년 1 월 19 일 후 응용 프로그램이 실패 하 고 64 비트 플랫폼에서 사용할 수 없습니다 때문에 권장 되지 않습니다.

구조체 형식의 필드가 tm 의 다음 값을 저장 합니다.는 int:

  • tm_sec
    시간 (초) 후 1 분 (0-59).

  • tm_min
    분 (0-59).

  • tm_hour
    자정 이후의 시간 (0-23).

  • tm_mday
    월 (1 – 31)의 일입니다.

  • tm_mon
    달 (0-11. 1 월 = 0).

  • tm_year
    1 년 (현재 연도 1900 뺀)입니다.

  • tm_wday
    요일 (0-6. 0 = 일요일).

  • tm_yday
    연간 일자 (0-365. 1 월 1 일 = 0).

  • tm_isdst
    일광 절약 시간이 적용 되는 경우 양수 값입니다. 일광 절약 시간제가 적용 되지 않는 경우 0입니다. 일광 절약 시간 상태를 알 수 없는 경우 음수 값입니다.경우는 TZ 환경 변수를 설정할 때는 일광 절약 시간제 (DST)의 계산을 구현 하는 데 규칙 C 런타임 라이브러리에 해당 하는 미국 가정.

설명

localtime 함수 변환으로 저장 한 시간을 time_t 형식의 구조에 결과 저장 한 tm.long 값 timer 초 자정 이후 경과 된 시간을 나타냅니다 (00: 00: 00), 1970 년 1 월 1 일 UTC입니다.이 값은 일반적으로 가져옵니다의 time 함수입니다.

32 비트 및 64 비트 버전의 gmtime, mktime, mkgmtime, 및 localtime 모든 단일 사용 tm 변환에 대 한 스레드 단위 구조입니다.이러한 루틴 중 하나를 호출할 때마다 이전 호출의 결과 소멸 시킵니다.

localtime사용자가 먼저 전역 환경 변수를 설정 하는 경우 현지 표준 시간대에 대 한 해결 TZ.때 TZ 입니다, 세 가지 다른 환경 변수 설정 (_timezone, _daylight, 및 _tzname)도 자동으로 설정 됩니다.경우는 TZ 변수가 설정 되지 않았습니다. localtime 제어판에서 날짜/시간 응용 프로그램에 지정 된 표준 시간대 정보를 사용 합니다.이 정보를 가져올 수 없는 경우, 태평양 표준 시간대를 의미 하는 PST8PDT 기본적으로 사용 됩니다.참조 하십시오 _tzset 에 대 한 설명은 이러한 변수를 합니다.TZMicrosoft 확장 및 ANSI 표준 정의 일부가 아닌 localtime.

[!참고]

대상 환경 일광 절약 시간이 적용 되는지 결정 하십시오.

이러한 함수 매개 변수의 유효성을 검사 합니다.경우 timer 는 null 포인터 또는 타이머 값이 음수 이면이 함수는 잘못 된 매개 변수 처리기의 설명에 따라 호출 매개 변수 유효성 검사.실행 계속 될 수 있습니다 경우에 함수 반환 NULL 를 설정 하 고 errno 에 EINVAL.

요구 사항

루틴

필수 헤더

localtime

<time.h>

_localtime32

<time.h>

_localtime64

<time.h>

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

예제

// crt_localtime.cpp
// compile with: /W3
/* This program uses _time64 to get the current time 
 * and then uses localtime64() to convert this time to a structure 
 * representing the local time. The program converts the result 
 * from a 24-hour clock to a 12-hour clock and determines the 
 * proper extension (AM or PM).
 */

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

int main( void )
{
        struct tm *newtime;
        char am_pm[] = "AM";
        __time64_t long_time;

        _time64( &long_time );           // Get time as 64-bit integer.
                                         // Convert to local time.
        newtime = _localtime64( &long_time ); // C4996
        // Note: _localtime64 deprecated; consider _localetime64_s

        if( newtime->tm_hour > 12 )        // Set up extension.
                strcpy_s( am_pm, sizeof(am_pm), "PM" );
        if( newtime->tm_hour > 12 )        // Convert from 24-hour
                newtime->tm_hour -= 12;    //   to 12-hour clock.
        if( newtime->tm_hour == 0 )        // Set hour to 12 if midnight.
                newtime->tm_hour = 12;

        char buff[30];
        asctime_s( buff, sizeof(buff), newtime );
        printf( "%.19s %s\n", buff, am_pm );
}
  

해당 .NET Framework 항목

System::DateTime::ToLocalTime

참고 항목

참조

시간 관리

asctime, _wasctime

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime_s, _localtime32_s, _localtime64_s

time, _time32, _time64

_tzset