localtime, localtime_r, localtime_s
|
헤더 파일에 정의됨
<time.h>
|
||
| (1) | ||
| (2) | (C23부터) | |
| (3) | (C11부터) | |
struct tm
형식으로 저장됩니다. 결과는 정적 저장소에 저장되며 해당 정적 저장소에 대한 포인터가 반환됩니다.
-
- timer 또는 buf 가 null 포인터인 경우
-
모든 bounds-checked 함수들과 마찬가지로,
localtime_s는 구현에 의해 __STDC_LIB_EXT1__ 가 정의되고, 사용자가 <time.h> 를 포함하기 전에 __STDC_WANT_LIB_EXT1__ 를 정수 상수 1 로 정의한 경우에만 사용 가능함이 보장됩니다.
목차 |
매개변수
| timer | - | time_t 객체를 가리키는 포인터 (변환 대상) |
| buf | - | 결과를 저장할 struct tm 객체를 가리키는 포인터 |
반환값
localtime
, 그리고
ctime
사이에서 공유될 수 있으며 각 호출 시 덮어씌워질 수 있습니다.
참고 사항
localtime
함수는 스레드 안전하지 않을 수 있습니다.
Microsoft CRT
구현은 스레드 안전합니다.
POSIX는
localtime
과
localtime_r
이 인자가 너무 커서 실패할 경우
errno
를
EOVERFLOW
로 설정하도록 요구합니다.
POSIX는
시간대 정보가
localtime
및
localtime_r
에 의해 결정되는 방식을 지정하며, 이는 마치
tzset
을 호출하는 것과 같습니다. 이 함수는 환경 변수
TZ
을 읽습니다.
Microsoft CRT의
localtime_s
구현은 매개변수 순서가 반대로 되어 있고
errno_t
를 반환하기 때문에 C 표준과 호환되지 않습니다.
예제
#define __STDC_WANT_LIB_EXT1__ 1 #define _XOPEN_SOURCE // for putenv #include <stdio.h> #include <stdlib.h> // for putenv #include <time.h> int main(void) { time_t t = time(NULL); printf("UTC: %s", asctime(gmtime(&t))); printf("local: %s", asctime(localtime(&t))); // POSIX-specific putenv("TZ=Asia/Singapore"); printf("Singapore: %s", asctime(localtime(&t))); #ifdef __STDC_LIB_EXT1__ struct tm buf; char str[26]; asctime_s(str, sizeof str, gmtime_s(&t, &buf)); printf("UTC: %s", str); asctime_s(str, sizeof str, localtime_s(&t, &buf)); printf("local: %s", str); #endif }
가능한 출력:
UTC: Fri Sep 15 14:22:05 2017 local: Fri Sep 15 14:22:05 2017 Singapore: Fri Sep 15 22:22:05 2017 UTC: Fri Sep 15 14:22:05 2017 local: Fri Sep 15 14:22:05 2017
참고문헌
- C23 표준 (ISO/IEC 9899:2024):
-
- 7.27.3.4 localtime 함수 (p: TBD)
-
- K.3.8.2.4 localtime_s 함수 (p: TBD)
- C17 표준 (ISO/IEC 9899:2018):
-
- 7.27.3.4 localtime 함수 (p: 288)
-
- K.3.8.2.4 localtime_s 함수 (p: 455)
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.27.3.4 localtime 함수 (p: 394)
-
- K.3.8.2.4 localtime_s 함수 (p: 627)
- C99 표준 (ISO/IEC 9899:1999):
-
- 7.23.3.4 localtime 함수 (p: 343)
- C89/C90 표준 (ISO/IEC 9899:1990):
-
- 4.12.3.4 localtime 함수
참고 항목
|
(C23)
(C11)
|
에포크 이후 시간을 협정 세계시(UTC)로 표현된 캘린더 시간으로 변환
(함수) |
|
C++ documentation
for
localtime
|
|