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

履歴 編集

function
<chrono>

std::chrono::year_month_day::ok(C++20)

constexpr bool ok() const noexcept; // (1) C++20

概要

year_month_dayオブジェクトの値が有効な日付の範囲内かを判定する。

戻り値

以下の全ての条件を満たす場合にこの関数はtrueを返し、そうでなければfalseを返す:

  • year()メンバ関数によって返されるオブジェクトyok()true
  • month()メンバ関数によって返されるオブジェクトmok()true
  • day()メンバ関数によって返されるオブジェクトの値が[1d, (y/m/last).day()]の範囲内であること

#include <cassert>
#include <chrono>

namespace chrono = std::chrono;
using namespace std::chrono_literals;

int main()
{
  assert((2020y/3/1).ok()  == true);
  assert((2020y/2/28).ok() == true);
  assert((2020y/2/30).ok() == false);
  assert((2021y/2/29).ok() == false);
}

出力

バージョン

言語

  • C++20

処理系