Klasa year_month_weekday_last

Określony rok, miesiąc i ostatni dzień tygodnia miesiąca.

Składnia

class year_month_weekday_last; // C++20

Uwagi

year_month_weekday_last obsługuje arytmetyka zorientowana na lata i miesiące, ale nie arytmetyka zorientowana na dni. W przypadku arytmetyki zorientowanej na dni użyj sys_days konwersji w celu przekonwertowania na sys_dayselement , który obsługuje arytmetyczną zorientowaną na dni.

year_month_weekday_last jest trywialnie kopiowalnym i standardowym typem klasy układu.

Członkowie

Nazwa/nazwisko opis
Constructor Skonstruuj element year_month_weekday_last z określonym miesiącem i dniem tygodnia.
month Pobierz wartość miesiąca.
ok Sprawdź, czy year_month_weekday_last element jest prawidłowy.
operator+= Dodaj określoną liczbę miesięcy lub lat.
operator-= Odejmij określoną liczbę miesięcy lub lat.
operator local_days Pobierz liczbę dni z system_clock epoki do tej year_month_weekday_last wartości jako local_days.
operator sys_days Pobierz liczbę dni z system_clock epoki do tej year_month_weekday_last wartości jako sys_days.
weekday Pobierz dzień powszedni.
weekday_last Pobierz plik weekday_last przechowywany w tym pliku year_month_weekday_last.
year Pobierz rok.

Inne niż elementy członkowskie

Nazwa/nazwisko opis
operator+ Dodaj miesiące lub lata.
operator- Odejmowanie miesięcy lub lat.
operator== Ustal, czy dwie year_month_weekday_last wartości są równe.
operator<< year_month_weekday_last Wyprowadź element do danego strumienia.

Wymagania

Nagłówek:<chrono> (od C++20)

Obszaru nazw:std::chrono

Opcja kompilatora:/std:c++latest

Konstruktor

Tworzy element year_month_weekday_last.

constexpr year_month_weekday_last(const year& y, const month& m, const weekday_last& wdl) noexcept

Parametry

m
Wartość wyliczenia month.

wdl
Wartość wyliczenia weekday_last.

y
Wartość wyliczenia year.

Aby uzyskać informacje o składni języka C++20 używanej do określania dat, zobacz operator/

Przykład: tworzenie elementu year_month_weekday_last

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ 1997y / January / Wednesday[last] };
    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]

month

Pobierz wartość miesiąca.

constexpr month month() const noexcept;

Wartość zwracana

Wartość wyliczenia month.

ok

Sprawdź, czy wartość przechowywana w tym year_month_weekday_last miejscu jest prawidłowa. Element year, monthi weekday_last przechowywany w tym year_month_weekday_last pliku musi być ok przeznaczony dla tej funkcji, aby zwracała wartość true. W przeciwnym razie zwraca wartość false.

constexpr bool ok() const noexcept;

Wartość zwracana

true jeśli wartość jest prawidłowa year_month_weekday_last . W przeciwnym razie wartość false.
Wartość jest year_month_weekday_last prawidłowa, jeśli monthwszystkie wartości , weekday_indexedi year są prawidłowe.

operator+=

Dodaj miesiące lub lata do tego year_month_weekday_lastelementu .

1) constexpr year_month_weekday_last& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator+=(const years& y) noexcept;

Parametry

m
Liczba miesięcy do dodania.

y
Liczba lat do dodania.

Wartość zwracana

*this odzwierciedla wynik dodawania.

Przykład: operator+=

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

    ymwl += months{ 1 };
    ymwl += years{ 1 };

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1998/Feb/Wed[last]

operator-=

Odejmij miesiące lub lata od tego year_month_weekday_last.

1) constexpr year_month_weekday_last& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator-=(const years& y) noexcept;

Parametry

m
Liczba miesięcy do odejmowania.

y
Liczba lat do odejmowania.

Wartość zwracana

*this odzwierciedla wynik odejmowania.

Przykład: operator-=

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

    ymwl -= months{ 1 };
    ymwl -= years{ 1 };

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1995/Dec/Wed[last]

operator local_days

Pobierz liczbę dni od system_clock epoki (1/1/1970) do tej year_month_weekday_last wartości jako local_days

constexpr explicit operator local_days() const noexcept;

Wartość zwracana

Jeśli ok()wartość , zwraca liczbę dni jako local_days{sys_days{*this}.time_since_epoch()}. W przeciwnym razie zwrócona wartość jest nieokreślona.

operator sys_days

Pobierz liczbę dni z system_clock epoki (1.1.1.1.1970) do tej year_month_day wartości jako sys_days.

constexpr operator sys_days() const noexcept;

Wartość zwracana

Jeśli ok() == truefunkcja zwraca wartość sys_days reprezentującą ostatni weekday() element year() / month() (uwaga: / operator daty, a nie podział). W przeciwnym razie zwrócona wartość jest nieokreślona.

weekday

Pobierz plik weekday.

constexpr weekday weekday() const noexcept;

Wartość zwracana

weekday.

weekday_last

Pobierz plik weekday_last przechowywany w tym pliku year_month_weekday_last.

constexpr weekday_indexed weekday_last() const noexcept;

Wartość zwracana

weekday_last.

year

Pobierz wartość roku.

constexpr year year() const noexcept;

Wartość zwracana

Wartość wyliczenia year.

Zobacz też

<chrono>
year
year_month
year_month_day
year_month_day_last
year_month_weekday
operator/
Odwołanie do plików nagłówka