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
バージョン
言語
処理系
参照