名前空間
変種
操作

std::chrono::tai_clock

提供: cppreference.com
< cpp‎ | chrono
 
 
 
日付と時間のユーティリティ
(C++11)
(C++11)
時計
(C++20)
                                                  
(C++20)
tai_clock
(C++20)
(C++20)
(C++20)
(C++20)
カレンダー
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
タイムゾーン
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C スタイルの日付と時間
 
std::chrono::tai_clock
 
ヘッダ <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_clockClock の要件を満たします。 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 のストリーム出力を行います
(関数テンプレート) [edit]
指定された書式に従って tai_time をストリームからパースします
(関数テンプレート) [edit]
指定された書式に従って tai_time をストリームに出力します
(関数テンプレート) [edit]

[編集] メンバ型

メンバ型 定義
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 を返します
(パブリック静的メンバ関数) [edit]
[静的]
tai_timeutc_time に変換します
(パブリック静的メンバ関数) [edit]
[静的]
utc_timetai_time に変換します
(パブリック静的メンバ関数) [edit]