std::chrono::tai_clock
提供: cppreference.com
ヘッダ <chrono> で定義 | ||
class tai_clock; | (C++20以上) | |
時計 std::chrono::tai_clock
は国際原子時 (TAI) を表す Clock です。 1958年1月1日0時0分0秒からの経過時間を計測します。 その日時において UTC よりも10秒進んでいます (つまり、エポックは 1958-01-01 00:00:00 TAI であり、それは 1957-12-31 23:59:50 UTC です)。
閏秒は TAI には挿入されません。 そのため、 UTC に閏秒が挿入されるたびに、 UTC は TAI から1秒ずつ遅れていきます。 2017年12月の時点では、 UTC は TAI から37秒遅れています。 初期のずれである10秒に加えて、1958年から2017年までの間に27回の閏秒挿入が行われたことが反映されています。 そのため、 2018-01-01 00:00:00 UTC は 2018-01-01 00:00:37 TAI と同等です。
tai_clock
は Clock の要件を満たします。 now() が例外を投げないことを実装が保証できなければ、 TrivialClock の要件は満たしません。
目次 |
time_point ファミリー
名前空間 std::chrono で定義 | ||
template<class Duration> using tai_time =std::chrono::time_point<std::chrono::tai_clock, Duration>; | (C++20以上) | |
using tai_seconds = tai_time<std::chrono::seconds>; | (C++20以上) | |
tai_time のストリーム出力を行います (関数テンプレート) | |
指定された書式に従って tai_time をストリームからパースします (関数テンプレート) | |
提供された書式に従って tai_time を書式化する std::formatter の特殊化 (クラステンプレートの特殊化) |
[編集]メンバ型
メンバ型 | 定義 |
rep | 時計の時間の刻みの数を表す符号付き算術型 |
period | 時計の刻みの間隔を秒で表す std::ratio 型 |
duration | std::chrono::duration<rep, period>、負の時間を表すこともできます |
time_point | std::chrono::time_point<std::chrono::tai_clock> |
[編集]メンバ定数
constexpr bool is_steady [静的] | 刻みの間隔が常に一定、つまり外部の何らかの時計が調整された場合でも now() の呼び出しが常に単調に増加する値を返す場合は true、そうでなければ false (パブリック静的メンバ定数) |
[編集] メンバ関数
[静的] | 時の現在点を表す std::chrono::time_point を返します (パブリック静的メンバ関数) |
[静的] | tai_time を utc_time に変換します (パブリック静的メンバ関数) |
[静的] | utc_time を tai_time に変換します (パブリック静的メンバ関数) |