C++ 参考手册

位置:首页 > C++ 参考手册 >日期和时间工具 > std::chrono::clock_cast

定义于头文件 <chrono>
template <class Dest, class Source, class Duration>
auto clock_cast(const std::chrono::time_point<Source, Duration>& t);
(C++20 起)

转换时钟 Source 的时间点 t 为时钟 Dest 的等价时间点,必要时以 std::chrono::system_clock 和/或 std::chrono::utc_clock 作为中介。

  • 若表达式 std::chrono::clock_time_conversion<Dest, Source>{}(t) 为良构,则返回该表达式的结果。
  • 否则,若下列二个表达式至少有一个为良构,则
  • 若二个表达式均为良构,则转换有歧义,而程序为谬构。
  • 否则,二个表达式恰有一个为良构;返回该表达式的结果。
1) std::chrono::clock_time_conversion<Dest, std::chrono::system_clock>{}(
    std::chrono::clock_time_conversion<std::chrono::system_clock, Source>{}(t))
2) std::chrono::clock_time_conversion<Dest, std::chrono::utc_clock>{}(
    std::chrono::clock_time_conversion<std::chrono::utc_clock, Source>{}(t))
  • 否则,若下列二个表达式至少有一个为良构,则
  • 若两个表达式均为良构,则转换有歧义,而程序为谬构。
  • 否则,二个表达式恰有一个为良构;返回该表达式的结果。
1) std::chrono::clock_time_conversion<Dest, std::chrono::utc_clock>{}(

    std::chrono::clock_time_conversion<std::chrono::utc_clock, std::chrono::system_clock>{}(

        std::chrono::clock_time_conversion<std::chrono::system_clock, Source>{}(t)))
2) std::chrono::clock_time_conversion<Dest, std::chrono::system_clock>{}(

    std::chrono::clock_time_conversion<std::chrono::system_clock, std::chrono::utc_clock>{}(

        std::chrono::clock_time_conversion<std::chrono::utc_clock, Source>{}(t)))
  • 否则,此函数不参与重载决议。

返回值

上面确定的转换结果。

示例

本节未完成
原因:暂无示例

参阅

定义如何转换一个时钟的时间点为另一个的特性类
(类模板)