constexpr operator sys_days() const noexcept; // (1) C++20
概要
year_month_weekday_last
オブジェクトをシステム時間の日付に、暗黙に型変換する。
戻り値
ok()
がtrue
である場合、year()/month()
の最後のweekday()
を表すsys_days
を返す。そうでなければ未規定の値を返す。
例
#include <cassert>
#include <chrono>
namespace chrono = std::chrono;
using namespace std::chrono_literals;
int main()
{
chrono::sys_days date = 2020y/3/chrono::Sunday[chrono::last];
assert(chrono::year_month_day{date} == 2020y/3/29);
}
xxxxxxxxxx
#include <cassert>
#include <chrono>
namespace chrono = std::chrono;
using namespace std::chrono_literals;
int main()
{
chrono::sys_days date = 2020y/3/chrono::Sunday[chrono::last];
assert(chrono::year_month_day{date} == 2020y/3/29);
}
出力
バージョン
言語
- C++20
処理系
- Clang: 8.0 ✅
- GCC: 11.1 ✅
- Visual C++: 2019 Update 3 ❌
備考
- GCC 11のtrunkバージョンでは
index() == 0
の場合に間違った値が返る。正式リリース時には直っている可能性がある