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';
}

더 알아보기 (Learn more)

cppreference