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 );
tp를 ToDuration 단위로 반올림 변환한 시간점을 반환해요. 두 값이 똑같이 가까우면 짝수 값으로 반올림해요 (banker's rounding). ToDuration이 std::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
}