• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function template
    <chrono>

    std::chrono::time_point_cast

    namespace std {
    namespace chrono {
      template <class ToDuration, class Clock, class Duration>
      time_point<Clock, ToDuration>
        time_point_cast(const time_point<Clock, Duration>& t); // C++11
    
      template <class ToDuration, class Clock, class Duration>
      constexpr time_point<Clock, ToDuration>
        time_point_cast(const time_point<Clock, Duration>& t); // C++14
    }}
    

    概要

    分解能の低いduration型を内部表現として持つtime_pointへ変換する。

    その際の丸めは、ゼロ方向への丸め (切り捨て、truncate) が行われる。

    戻り値

    time_point<Clock, ToDuration>(duration_cast<ToDuration>(t.time_since_epoch()));
    

    #include <iostream>
    #include <chrono>
    
    using namespace std::chrono;
    
    int main()
    {
      using MTimePoint = time_point<system_clock, milliseconds>;
      using STimePoint = time_point<system_clock, seconds>;
    
      MTimePoint mp(milliseconds(1100));
    
    //STimePoint sp = mp; // error! 変換できない
      STimePoint sp = time_point_cast<seconds>(mp); // OK
    
      std::cout << sp.time_since_epoch().count() << std::endl;
    }
    

    出力

    1
    

    バージョン

    言語

    • C++11

    処理系

    関連項目

    名前 説明
    floor 負の無限大方向への丸め
    ceil 正の無限大方向への丸め
    round 偶数方向への丸め

    参照