最終更新日時: 2025年09月27日 16時21分06秒 (JST)
Raclamusi が更新

履歴 編集

function
<chrono>

# std::chrono::local_time_format(C++20)

    namespace std::chrono {
      template <class Duration>
      local-time-format-t<Duration>
        local_time_format(local_time<Duration> time, const string* abbrev = nullptr,
                          const seconds* offset_sec = nullptr);
    }

## 概要

ローカル時間の文字列フォーマット用オブジェクトを生成する。

この関数は、ローカル時間をタイムゾーン付きでフォーマット出力したい場合に使用する。

## 戻り値

    return {time, abbrev, offset_sec};

## 例

    #include <iostream>
    #include <chrono>
    #include <format>

    namespace chrono = std::chrono;

    int main()
    {
      auto now = chrono::system_clock::now();

      chrono::zoned_time zt{"Asia/Tokyo", now};
      std::cout << std::format("{:%Y/%m/%d %H:%M:%S %Z}", zt) << std::endl;

      auto lt = zt.get_local_time();
      chrono::sys_info si = zt.get_info();
      {
        auto ltf = chrono::local_time_format(lt, &si.abbrev);
        std::cout << std::format("{:%Y/%m/%d %H:%M:%S %Z}", ltf) << std::endl;
      }
      {
        auto ltf = chrono::local_time_format(lt, &si.abbrev, &si.offset);
        std::cout << std::format("{:%Y/%m/%d %H:%M:%S %Z%z}", ltf) << std::endl;
      }
    }

### 出力例

    2019/12/20 19:05:05 JST
    2019/12/20 19:05:05 JST
    2019/12/20 19:05:05 JST+0900

## バージョン

### 言語

- C++20

### 処理系

- Clang: 9.0 ❌
- GCC: 9.2 ❌
- Visual C++: 2019 Update 3 ❌