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

履歴 編集

function
<chrono>

std::chrono::tai_clock::to_utc(C++20)

template <class Duration>
static utc_time<common_type_t<Duration, seconds>>
  to_utc(const tai_time<Duration>& t) noexcept;

概要

TAI時間からUTC時間に変換する。

戻り値

ここで378691210は、システム時間のエポック1970年1月1日とTAI時間のエポック1958年1月1日との差である秒数に、TAI時間がUTC時間より10秒進んでいるという差を加算した秒数である。

#include <iostream>
#include <chrono>

namespace chrono = std::chrono;
using namespace std::chrono_literals;

int main()
{
  auto tt = chrono::clock_cast<chrono::tai_clock>(chrono::sys_days{2019y/10/24});
  auto ut = chrono::tai_clock::to_utc(tt);

  // うるう秒
  chrono::leap_second_info info = chrono::get_leap_second_info(ut);

  std::cout << tt << std::endl;
  std::cout << ut << std::endl;
  std::cout << info.elapsed.count() << std::endl;
}

出力

2019-10-24 00:00:37 TAI
2019-10-24 00:00:00 UTC
27

バージョン

言語

  • C++20

処理系

  • Clang: (9.0時点で実装なし)
  • GCC: (9.2時点で実装なし)
  • Visual C++: (2019 Update 3時点で実装なし)