chrono_clock_cast
chrono_clock_cast (시계 변환)
std::chrono::clock_cast는 한 시계의 시간점을 다른 시계의 동등한 시간점으로 변환해요. 필요하면 system_clock이나 utc_clock을 중개자로 사용해요.
출처: cppreference
본문
std::chrono::clock_cast는 <chrono> 헤더에 정의된 함수 템플릿이에요. C++20부터 사용 가능해요.
template< class Dest, class Source, class Duration >
auto clock_cast( const std::chrono::time_point<Source, Duration>& t );
시계 Source의 시간점 t를 시계 Dest의 동등한 시간점으로 변환해요. 필요하면 std::chrono::system_clock 또는 std::chrono::utc_clock을 중개자로 사용해요.
clock_time_conversion<Dest, Source>{}(t)가 형식적으로 유효하면 그 표현식의 결과를 반환해요.- 그렇지 않으면 두 단계 변환 경로(중간 시계 경유)가 유효한지 검사해요.
예제 (Example)
system_clock의 시간점을 utc_clock의 시간점으로 변환하는 예시예요.
#include <chrono>
#include <iostream>
int main()
{
using namespace std::chrono;
auto sys = system_clock::now();
auto utc = clock_cast<utc_clock>(sys);
std::cout << utc.time_since_epoch().count() << '\n';
}