std::chrono::weekday::c_encoding, std::chrono::weekday::iso_encoding

From cppreference.com
< cpp‎ | chrono‎ | weekday
 
 
Utilities library
General utilities
Date and time
Function objects
Formatting library (C++20)
(C++11)
Relational operators (deprecated in C++20)
Integer comparison functions
(C++20)(C++20)(C++20)   
(C++20)
Swap and type operations
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Common vocabulary types
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Elementary string conversions
(C++17)
(C++17)
 
 
 
constexpr unsigned c_encoding() const noexcept;
(1) (since C++20)
constexpr unsigned iso_encoding() const noexcept;
(2) (since C++20)
1) Returns the weekday value stored in *this.
2) Returns the weekday value stored in *this, except that Sunday (stored as 0) is interpreted as 7 according to ISO 8601.

Return value

1) The weekday value stored in *this.
2) c_encoding() == 0u ? 7u : c_encoding().

Example

#include <chrono>
#include <iostream>
 
int main()
{
    std::cout << "i: C: ISO: Weekday:\n";
 
    for (unsigned i{0}; i != 8; ++i) {
        const std::chrono::weekday w{i};
        std::cout << i << "  "
                  << w.c_encoding() << "  "
                  << w.iso_encoding() << "    "
                  << w << '\n';
    }
}

Possible output:

i: C: ISO: Weekday:
0  0  7    Sun
1  1  1    Mon
2  2  2    Tue
3  3  3    Wed
4  4  4    Thu
5  5  5    Fri
6  6  6    Sat
7  0  7    Sun