最終更新日時(UTC):
が更新

履歴 編集

function
<chrono>

std::chrono::zoned_time::operator=(C++20)

zoned_time& operator=(const sys_time<Duration>& st);   // (1) C++20
zoned_time& operator=(const local_time<Duration>& lt); // (2) C++20
zoned_time& operator=(const zoned_time&) = default;    // (3) C++20
zoned_time& operator=(zoned_time&&) = default;         // (4) C++20

概要

代入演算子。

コンストラクタでタイムゾーンを設定した状態で、時間だけを再代入する。

  • (1) : 指定したシステム時間を保持する
  • (2) : 指定したローカル時間をシステム時間に変換して保持する
  • (3) : コピー代入演算子
  • (4) : ムーブ代入演算子

効果

  • (1) : stをメンバ変数として保持する
  • (2) : ltsys_time<Duration>に変換してメンバ変数として保持する

戻り値

return *this;

#include <cassert>
#include <chrono>

namespace chrono = std::chrono;

int main()
{
  auto now = chrono::system_clock::now();
  chrono::local_time local_now{now.time_since_epoch()};

  chrono::zoned_time zt1{"Asia/Tokyo"};
  zt1 = now;
  assert(zt1.get_sys_time() == now);
  assert(zt1.get_local_time() == local_now);

  chrono::zoned_time zt2{"Asia/Tokyo"};
  zt2 = local_now;
  assert(zt2.get_local_time() == local_now);
  assert(zt2.get_sys_time() == sys_now);
}

出力

バージョン

言語

  • C++20

処理系

  • Clang: (9.0時点で実装なし)
  • GCC: (9.2時点で実装なし)
  • Visual C++: (2019 Update 3時点で実装なし)