# std::chrono::last_spec, std::chrono::last

From cppreference.com
< cpp‎ | chrono

Defined in header `<chrono>` |  |
struct last_spec { explicit last_spec() = default; }; |  | (since C++20)
inline constexpr last_spec last{}; |  | (since C++20)

`last_spec` is an empty tag type that is used in conjunction with other calendar types to indicate the last thing in a sequence. Depending on context, it may indicate the last day of a month (as in 2018y/February/last, for last day of February 2018, i.e., 2018-02-28) or the last day of the week in a month (as in 2018/February/Sunday[last], for last Sunday of February 2018, i.e., 2018-02-25).

### Example

Run this code

    #include <iostream>
    #include <chrono>

    int main()
    {
        using namespace std::chrono;

        std::cout << std::boolalpha;

        constexpr auto mdl {June/last};
        std::cout << (mdl == month_day_last(month(6))) << ' ';

        constexpr auto ymwdl {year(2023)/December/Tuesday[last]};
        std::cout << (ymwdl == year_month_weekday_last(
                               year(2023), month(12), weekday_last(Tuesday))) << '\n';
    }

Output:

    true true

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/chrono/last_spec&oldid=134784"