Skip to content

Latest commit

 

History

History
80 lines (63 loc) · 2.14 KB

File metadata and controls

80 lines (63 loc) · 2.14 KB

operator=

  • chrono[meta header]
  • std::chrono[meta namespace]
  • zoned_time[meta class]
  • function[meta id-type]
  • cpp20[meta cpp]
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
  • sys_time[link /reference/chrono/sys_time.md]
  • local_time[link /reference/chrono/local_time.md]

概要

代入演算子。

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

  • (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);
}
  • chrono::system_clock[link /reference/chrono/system_clock.md]
  • now()[link /reference/chrono/system_clock/now.md]
  • time_since_epoch()[link /reference/chrono/time_point/time_since_epoch.md]
  • chrono::local_time[link /reference/chrono/local_time.md]
  • get_sys_time()[link get_sys_time.md]
  • get_local_time()[link get_local_time.md]

出力

バージョン

言語

  • C++20

処理系

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