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_seconds t = utc_clock::to_sys(u);
auto leap_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-07-01 00:00:00
2015-07-01 00:00:00
26s
バージョン
言語
- C++20
処理系
- Clang: 9.0 ❌
- GCC: 9.2 ❌, 15.1 ✅
- Visual C++: 2019 Update 3 ❌