名前空間
変種
操作

std::chrono::get_tzdb_list, std::chrono::get_tzdb, std::chrono::remote_version, std::chrono::reload_tzdb

From cppreference.com
< cpp‎ | chrono
 
 
日付と時刻ライブラリ
時間点
(C++11)
(C++20)
時間間隔
(C++11)
クロック
(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++20)
(C++20)
(C++20)
(C++20)(C++20)
chrono I/O
(C++20)

タイムゾーン
(C++20)
(C++20)
get_tzdbget_tzdb_listreload_tzdbremote_version
(C++20)(C++20)(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C スタイルの日付と時刻
 
std::chrono::tzdb_list& get_tzdb_list();
(1) (C++20以降)
const std::chrono::tzdb& get_tzdb();
(2) (C++20以降)
std::string remote_version();
(3) (C++20以降)
const std::chrono::tzdb& reload_tzdb();
(4) (C++20以降)

これらの関数は、プログラム全体で使用されるタイムゾーンデータベースへのアクセスを提供します。

1) グローバルな std::chrono::tzdb_list シングルトンへの参照を返します。データベースへの最初のアクセスである場合、データベースを初期化します。初期化後、データベースは単一の初期化された std::chrono::tzdb オブジェクトを保持します。この関数はスレッドセーフです。複数のスレッドからこの関数に同時に呼び出しがあっても、データ競合は発生しません。
2) tzdb_list シングルトンが保持する最初の std::chrono::tzdb オブジェクトへの参照を返します。std::chrono::get_tzdb_list().front() と等価です。
3) 最新のリモートデータベースのバージョンを含む文字列を返します。
4) remote_version() != get_tzdb().version の場合、get_tzdb_list() が参照する tzdb_list シングルトンに、リモートデータベースを表す新しい tzdb オブジェクトを先頭に追加します。それ以外の場合は何も効果はありません。参照、ポインタ、イテレータは無効になりません。この関数を get_tzdb_list().front() または get_tzdb_list().erase_after() と同時に呼び出しても、データ競合は発生しません。

[編集] 例外

1) 1つ以上の有効な tzdb を含む tzdb_list への参照を何らかの理由で返せない場合、std::runtime_error

[編集] 戻り値

1) グローバルな std::chrono::tzdb_list シングルトンへの参照。
2) std::chrono::get_tzdb_list().front()
3) 最新のリモートデータベースのバージョンを含む文字列。
4) std::chrono::get_tzdb_list().front() (この関数による更新後)。
English 日本語 中文(简体) 中文(繁體)