sys_info
構造体
タイム ゾーン情報に対する低レベルのインターフェイスを提供します。
構文
struct sys_info;
解説
sys_time
を local_time
に変換した結果についてのタイム ゾーン情報への低レベルのインターフェイスを提供します。
メンバー
関数 | 説明 |
---|---|
abbrev |
関連付けられた time_zone と time_point に使用される省略形。 |
begin , end |
関連付けられたタイム ゾーンに offset と abbrev が適用される範囲。 |
offset |
関連付けられた time_zone と time_point に有効な協定世界時 (UTC) オフセット。 |
save |
夏時間調整オフセット。 |
非メンバー
関数 | 説明 |
---|---|
operator<< |
sys_info をストリームに出力します。 |
abbrev
関連付けられた time_zone
と time_point
に使用される省略形。
string abbrev;
戻り値
省略形。
解説
省略形は、time_zone
間で一意ではありません。 つまり、省略形を time_zone
と UTC オフセットに確実にマップし直すことができません。
begin
, end
関連付けられたタイム ゾーン [begin, end)
に offset
と abbrev
が適用される範囲を指定します。
sys_seconds begin;
sys_seconds end;
戻り値
返される sys_seconds
は、関連付けられた time_point
を基準にしたオフセットです。
offset
関連付けられてたタイム ゾーンと time_point
に対して有効な UTC オフセット。
seconds offset;
戻り値
local_time
と sys_time
の関係は offset = local_time - sys_time
です。
save
sys_info
が夏時間に設定されているかどうかを示し、そうであれば、このタイム ゾーンが夏時間でない場合に使用するはずのオフセットを示します。
minutes save;
戻り値
save != 0min
の場合、タイム ゾーンは、関連付けられた time_point
の夏時間です。 その場合、offset-save
は、この time_zone
が夏時間でない場合に使用するはずのオフセットを示します。
このオフセットは、信頼できるものではありません。 信頼できるオフセットを取得するには、クエリを使用して、夏時間中ではない time_point
を使用しているタイム ゾーンと比較します。 つまり、save
が 0 の値になる time_point
と比較します。
例: sys_info
の取得
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
sys_time<system_clock::duration> st = system_clock::now();
const auto& timeZoneDatabase = get_tzdb();
const auto& currentZone = timeZoneDatabase.current_zone();
auto sysInfo = currentZone->get_info(st);
std::cout << sysInfo << "\n";
return 0;
}
begin: 2021-03-14 10:00:00, end: 2021-11-07 09:00:00, offset: -25200s, save: 60min, abbrev: PDT
要件
ヘッダー: <chrono>
名前空間: std::chrono
コンパイラ オプション: /std:c++latest
<chrono>
file_clock class
high_resolution_clock
local_t
構造体
system_clock
構造体
tai_clock
クラス
utc_clock
クラス
ヘッダー ファイル リファレンス