std::chrono::tai_clock
From cppreference.com
| ヘッダー <chrono> で定義 |
||
| class tai_clock; |
(C++20以降) | |
std::chrono::tai_clock は、国際原子時 (TAI) を表す Clock です。これは、1958年1月1日 00:00:00 からの時間を計測し、その時点の 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 の要件は満たしません。
目次 |
時間点ファミリー
| 名前空間 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 の書式設定サポート(クラス テンプレートの特殊化) |
[編集] メンバー型
| メンバ型 | 定義 |
rep
|
クロックの期間におけるティック数を表す符号付き算術型 |
period
|
クロックのティック周期を秒単位で表す std::ratio 型 |
duration
|
std::chrono::duration<rep, period>、負の期間を表現可能 |
time_point
|
std::chrono::time_point<std::chrono::tai_clock> |
[編集] メンバー定数
| constexpr bool is_steady [static] |
true ティック間の時間が常に一定である場合、つまり now() の呼び出しが、外部クロックの調整が行われた場合でも単調増加する値を返す場合。それ以外の場合は false (公開静的メンバ定数) |
[編集] メンバ関数
| [static] |
現在の時間点を表す std::chrono::time_point を返します。 (public static member function) |
| [static] |
tai_time を utc_time に変換します。(public static member function) |
| [static] |
utc_time を tai_time に変換します。(public static member function) |