time_point_round

time_point_round (반올림 시간점 변환)

std::chrono::round는 시간점을 더 거친 단위로 반올림 변환해요.

출처: cppreference

본문

std::chrono::round(시간점용)은 <chrono> 헤더에 정의된 함수 템플릿이에요. C++17부터 사용 가능해요.

template< class ToDuration, class Clock, class Duration >
constexpr std::chrono::time_point<Clock, ToDuration>
    round( const std::chrono::time_point<Clock, Duration>& tp );

tpToDuration 단위로 반올림 변환한 시간점을 반환해요. 두 값이 똑같이 가까우면 짝수 값으로 반올림해요 (banker's rounding). ToDurationstd::chrono::duration의 특수화일 때만 오버로드 해석에 참여해요.

예제 (Example)

#include <chrono>
#include <iostream>

int main()
{
    using namespace std::chrono;
    sys_time<milliseconds> tp{milliseconds{1500}};
    auto rounded = round<seconds>(tp);
    std::cout << rounded.time_since_epoch().count() << '\n'; // 2
}

더 알아보기 (Learn more)

cppreference