最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<chrono>

# std::chrono::year_month_weekday_last::operator sys_days(C++20)

    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);
    }

### 出力

## バージョン

### 言語

- C++20

### 処理系

- Clang: 8.0 ✅
- GCC: 11.1 ✅
- Visual C++: 2019 Update 3 ❌

#### 備考

- GCC 11のtrunkバージョンでは`index() == 0`の場合に間違った値が返る。正式リリース時には直っている可能性がある
  - Bug 97613 - `chrono::year_month_weekday` cast to `sys_days` : return bad value if `index() == 0`