std::chrono::zoned_time
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <chrono> で定義
|
||
template < class Duration, class TimeZonePtr = const std::chrono::time_zone* > class zoned_time; |
(C++20以上) | |
クラス zoned_time は、タイムゾーンと、 Duration の解像度を持つ std::chrono::time_point の、論理的なペアを表します。
zoned_time の不変条件は、必ず有効なタイムゾーンを参照し、そのタイムゾーンにおいて存在している曖昧でない時点を表すことです。 この不変条件を維持するため、 zoned_time はムーブコンストラクタやムーブ代入演算子を持ちません。 zoned_time をムーブする試みはコピーを行います。
Duration が std::chrono::duration の特殊化でない場合、プログラムは ill-formed です。
テンプレート引数 TimeZonePtr はユーザが独自のタイムゾーンポインタ型を供給することを可能とし、 std::chrono::zoned_traits によって zoned_time の動作をさらにカスタマイズすることを可能とします。 カスタムタイムゾーン型は std::chrono::time_zone がサポートしているすべての操作をサポートする必要はなく、 zoned_time に対して実際に呼ばれた関数によって使用されるもののみが必要です。
TimeZonePtr は MoveConstructible でなければなりません。 ムーブオンリーな TimeZonePtr も使用可能ですが、 zoned_time が移動不可能となり、格納されている TimeZonePtr にアクセスすることができなくなるため、使うのが難しくなります。
メンバ型
| メンバ型 | 定義 |
duration
|
std::common_type_t<Duration, std::chrono::seconds>
|
メンバ関数
zoned_time を構築します (パブリックメンバ関数) | |
値を zoned_time に代入します (パブリックメンバ関数) | |
| タイムゾーンポインタのコピーを取得します (パブリックメンバ関数) | |
格納されている時点を local_time として取得します (パブリックメンバ関数) | |
格納されている時点を sys_time として取得します (パブリックメンバ関数) | |
| 格納されている時点のタイムゾーンに関する情報を取得します (パブリックメンバ関数) |
非メンバ関数
2つの zoned_time オブジェクトを比較します (関数テンプレート) | |
zoned_time をストリームに出力します (関数テンプレート) |
ヘルパークラス
提供された書式に従って zoned_time を書式化する std::formatter の特殊化 (クラステンプレートの特殊化) |