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_days
element , który obsługuje arytmetyczną zorientowaną na dni.
year_month_weekday_last
jest trywialnie kopiowalnym i standardowym typem klasy układu.
Elementy członkowskie
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)
Przestrzeń 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
, month
i 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 month
wszystkie wartości , weekday_indexed
i year
są prawidłowe.
operator+=
Dodaj miesiące lub lata do tego year_month_weekday_last
elementu .
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() == true
funkcja 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_last
Pobierz plik weekday_last
przechowywany w tym pliku year_month_weekday_last
.
constexpr weekday_indexed weekday_last() const noexcept;
Wartość zwracana
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