localtime64_r() — 변환 시간(다시 시작 가능)

형식

#include <time.h>
struct tm *localtime64_r(const time64_t *timeval, struct tm *result);

언어 레벨

ILE C 확장

스레드세이프

로케일 감지

이 함수의 작동은 현재 로케일의 LC_TOD 범주에 영향을 받을 수 있습니다.

설명

이 함수는 localtime64()의 다시 시작 가능한 버전입니다. 리턴된 구조 결과를 저장하기 위한 위치로 전달되는 점을 제외하고 localtime64()와 동일합니다.

참고:
  1. gmtime64()localtime64() 함수는 변환을 위해 공통이며 정적으로 할당된 버퍼를 사용할 수 있습니다. 이 함수 중 하나에 대한 각 호출은 이전 호출의 결과를 변경할 수 있습니다. asctime_r(), ctime64_r(), gmtime64_r()localtime64_r() 함수는 리턴 스트링을 보유하기 위해 공통 정적으로 할당된 버퍼를 사용하지 않습니다. 스레드 안전이 필요한 경우 이 함수는 asctime(), ctime64(), gmtime64()localtime64() 함수의 위치에서 사용될 수 있습니다.
  2. 캘린더 시간은 EPOCH(1970년 1월 1일 00:00:00(UTC(Universal Coordinate Time) 기준)) 이후 경과한 시간(초)입니다.
  3. 이 함수에 대해 지원되는 날짜 및 시간 범위는 01/01/0001 00:00:00에서 12/31/9999 23:59:59입니다.

리턴값

localtime64_r() 함수는 구조 결과에 대한 포인터를 리턴합니다. 지정된 timeval은 범위 밖으로, NULL 포인터가 리턴되고 errno가 EOVERFLOW으로 설정됩니다.

이 예는 시스템 클럭을 쿼리하고, 로컬 시간을 표시합니다.
#include <stdio.h>
#include <time.h>
 
int main(void)
{
   struct tm newtime;
   time64_t ltime;
   char buf[50];
 
   ltime = time64(&ltime);
   localtime64_r(&ltime, &newtime);
   printf("The date and time is %s\n", asctime_r(&newtime, buf));
}
 
/**************  If the local time is 3 p.m. February 15, 2008, **********
*************************  the output should be: *********************
 
The date and time is Fri Feb 15 15:00:00 2008
*/