template<class Duration>
static sys_time<common_type_t<Duration, seconds>>
to_sys(const utc_time<Duration>& u);
概要
UTC時間からシステム時間に変換する。
戻り値
対応するシステム時間が存在する場合、from_sys(t) == u
となるようなシステム時間t
を返す。そうでない場合、UTC時間u
は正のうるう秒が挿入されている時間点を表しており、この変換によってうるう秒が挿入されていないものとして時間をカウントし、うるう秒が挿入される前のシステム時間として表現可能な最後の日時を返す。
例
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
auto u = utc_clock::from_sys(sys_days{July/1/2015});
sys_days t = utc_clock::to_sys(u);
auto leap_seconds = duration_cast<seconds>(u.time_since_epoch() - t.time_since_epoch());
std::cout << u << std::endl;
std::cout << t << std::endl;
std::cout << leap_seconds << std::endl;
}
出力
2015-01-01 00:00:00 UTC
2015-01-01
26
バージョン
言語
- C++20
処理系
- Clang: 9.0 ❌
- GCC: 9.2 ❌
- Visual C++: 2019 Update 3 ❌