[time.cal.mwdlast.overview]

# 30 Time library [[time]](./#time)

## 30.8 The civil calendar [[time.cal]](time.cal#mwdlast.overview)

### 30.8.12 Class month_weekday_last [[time.cal.mwdlast]](time.cal.mwdlast#overview)

#### 30.8.12.1 Overview [time.cal.mwdlast.overview]

namespace std::chrono {class month_weekday_last { chrono::month m_; // *exposition only* chrono::weekday_last wdl_; // *exposition only*public:constexpr month_weekday_last(const chrono::month& m, const chrono::weekday_last& wdl) noexcept; constexpr chrono::month month() const noexcept; constexpr chrono::weekday_last weekday_last() const noexcept; constexpr bool ok() const noexcept; };}

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/time.tex#L5889)

month_weekday_last represents the last weekday of a month,
of an as yet unspecified year[.](#1.sentence-1)

To do this the month_weekday_last stores a month and a weekday_last[.](#1.sentence-2)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/time.tex#L5894)

[*Example [1](#example-1)*: constexpr auto mwd = February/Tuesday[last]; // mwd is the last Tuesday of February of an as yet unspecified yearstatic_assert(mwd.month() == February);static_assert(mwd.weekday_last() == Tuesday[last]); â *end example*]

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/time.tex#L5904)

month_weekday_last is a trivially copyable and standard-layout class type[.](#3.sentence-1)
