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 항목
참고 항목
참조
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64