class
std::chrono::local_info(C++20)
namespace std::chrono {
struct local_info {
static constexpr int unique = 0;
static constexpr int nonexistent = 1;
static constexpr int ambiguous = 2;
int result;
sys_info first;
sys_info second;
};
}
概要
local_infoは、ローカル時間に関するタイムゾーン情報の低レベルインタフェースを提供するクラスである。
このクラスの情報は、local_timeからsys_timeに変換する際に使用される。
local_timeからsys_timeへの変換が一意に決まる場合、result == uniqueとなり、firstが正しいsys_infoで埋められ、secondはゼロ初期化される
- 存在しないローカル時間が生じる場合、
result == nonexistentとなり、firstは直前のローカル時間の終端値の値で埋められ、secondは直後のローカル時間の開始値で埋められる
- あいまいなローカル時間が生じる場合、
result == ambiguousとなり、firstは直後のローカル時間の終端値で埋められ、secondは直前のローカル時間の開始値で埋められる
備考
nonexistentおよびambiguousは、サマータイムを採用しているタイムゾーンで生じる可能性がある
- 存在しないローカル時間の例として、タイムゾーン
"America/New_York"のローカル時刻 2016-03-13 02:30:00 は以下の隙間に位置するため存在しえない:
- 2016-03-13 02:00:00 EST
- 2016-03-13 03:00:00 EDT
- 2016-03-13 07:00:00 UTC
- あいまいなローカル時間の例として、タイムゾーン
"America/New_York"のローカル時刻 2016-11-06 01:30:00 は、以下のいずれかとなり、一意に決まらない:
- 2016-11-06 05:30:00 UTC
- 2016-11-06 06:30:00 UTC
メンバ変数
| 変数 |
説明 |
unique |
resultがこの値である場合、local_timeからsys_timeへの変換が一意に決まる |
nonexistent |
resultがこの値である場合、存在しないローカル時間である |
ambiguous |
resultがこの値である場合、重複するローカル時間があるためlocal_timeからsys_timeへの変換が一意に決まらない |
first |
変換に使用される第1候補のタイムゾーン情報 |
second |
変換に使用される第2候補のタイムゾーン情報 |
非メンバ関数
文字列フォーマット
例
出力
0
9 hours
JST
バージョン
言語
処理系
参照