- chrono[meta header]
- std[meta namespace]
- class[meta id-type]
- cpp20[meta cpp]
namespace std {
template <class charT>
struct formatter<chrono::local_info, charT>;
}local_infoクラスに対するstd::formatterクラステンプレートの特殊化。
フォーマットフラグとしては、以下を使用できる:
| フォーマットフラグ | 説明 |
|---|---|
%z |
ISO 8601フォーマットでのUTCからのオフセット (日本だと"+0900") |
%Ez |
オフセットの時と分の間にコロン (:) が挿入される (日本だと"+09:00") |
%Oz |
%Ezと等価 |
%Z |
タイムゾーンの略称 (日本だと"JST") |
#include <iostream>
#include <chrono>
namespace chrono = std::chrono;
int main()
{
auto now = chrono::system_clock::now();
chrono::local_time local_now{now.time_since_epoch()};
// 日本のタイムゾーン
const chrono::time_zone* tz = chrono::locate_zone("Asia/Tokyo");
chrono::local_info li = tz->get_info(local_now);
// デフォルトフォーマットはoperator<<と同じ (フォーマット未規定)
std::cout << std::format("{}", li) << std::endl;
std::cout << std::format("{:%z}", li) << std::endl; // オフセット時間
std::cout << std::format("{:%Z}", li) << std::endl; // タイムゾーンの略称
}- chrono::system_clock[link /reference/chrono/system_clock.md]
- now()[link /reference/chrono/system_clock/now.md]
- chrono::time_zone[link /reference/chrono/time_zone.md]
- chrono::locate_zone[link /reference/chrono/locate_zone.md]
- chrono::local_time[link /reference/chrono/local_time.md]
- time_since_epoch()[link /reference/chrono/time_point/time_since_epoch.md]
- std::format[link /reference/chrono/format.md]
(未検証の行)
+0900
JST
- C++20
- Clang: (9.0時点で実装なし)
- GCC: (9.2時点で実装なし)
- Visual C++: (2019 Update 3時点で実装なし)