TIME_UTC
TIME_UTC
고해상도 시간을 얻는 timespec_get()을 쓸 때, "어떤 시간 기준(타임 베이스)으로 측정할까"를 정해야 해요. 그때 UTC 기준을 나타내는 매크로가 TIME_UTC예요. <time.h>에 정의돼 있어요.
출처: cppreference
본문
TIME_UTC는 C11부터 도입된 매크로 상수예요. 0보다 큰 정수 상수로 확장되며, UTC 시간 기준(time base)을 가리켜요. timespec_get()에서 이 값을 인자로 넘겨 UTC 기준의 달력 시간을 얻는 데 써요.
#define TIME_UTC /* implementation defined */
주의
- 구현은 추가적인 시간 기준을 정의할 수 있지만, 필수로 지원해야 하는 것은 UTC에 기반한 실시간(real time) 클록뿐이에요.
예시
timespec_get()에 TIME_UTC를 넘겨 현재 시간을 초와 나노초로 얻는 흐름이에요.
#include <stdio.h>
#include <time.h>
int main(void)
{
struct timespec ts;
if (timespec_get(&ts, TIME_UTC) == TIME_UTC)
printf("%lld.%09ld\n", (long long)ts.tv_sec, ts.tv_nsec);
}
더 알아보기
- 이 매크로를 실제로 소비하는
timespec_get()함수와 짝을 이뤄요. - 초와 나노초를 담는
timespec구조체도 함께 보면 좋아요. - cppreference의 TIME_UTC 원문을 참고해요.