Namespaces
Variants

std:: timespec_get

From cppreference.net
< cpp ‎ | chrono ‎ | c
헤더 파일에 정의됨 <ctime>
int timespec_get ( std:: timespec * ts, int base ) ;
(1) (C++17 이후)
#define TIME_UTC /* 구현에 따라 정의됨 */
(2) (C++17 이후)
1) std::timespec 객체가 가리키는 ts base 시간 기준으로 현재 달력 시간을 포함하도록 수정합니다.
2) std::timespec_get base 인수로 사용하기에 적합한 값으로 확장됩니다.

TIME_ 로 시작하는 다른 매크로 상수들은 구현체에서 추가적인 시간 기준을 나타내기 위해 제공될 수 있습니다.

만약 base TIME_UTC 라면,

  • ts - > tv_sec 은 구현체 정의 시점부터의 초 수로 설정되며, 정수 값으로 절삭됩니다,
  • ts - > tv_nsec 멤버는 시스템 클록의 해상도로 반올림된 나노초의 정수 값으로 설정됩니다.

목차

매개변수

ts - std::timespec 타입의 객체를 가리키는 포인터
base - TIME_UTC 또는 시간 기준을 나타내는 0이 아닌 다른 정수 값

반환값

성공 시 base 의 값, 그렇지 않으면 0입니다.

참고 사항

POSIX 함수 clock_gettime(CLOCK_REALTIME, ts) 는 에포크(Epoch) 이후의 시간으로 std::timespec 을 채우는 데에도 사용될 수 있습니다.

예제

#include <ctime>
#include <iostream>
int main()
{
    std::timespec ts;
    std::timespec_get(&ts, TIME_UTC);
    char buf[100];
    std::strftime(buf, sizeof buf, "%D %T", std::gmtime(&ts.tv_sec));
    std::cout << "Current time: " << buf << '.' << ts.tv_nsec << " UTC\n";
}

가능한 출력:

Current time: 06/24/16 20:07:42.949494132 UTC

참고 항목

(C++17)
초와 나노초 단위의 시간
(구조체)
epoch 이후 시간으로서 시스템의 현재 시간을 반환
(함수)
C 문서 for timespec_get