Klasa year_month_day_last
Reprezentuje ostatni dzień określonego roku i miesiąca.
year_month_day_last
obsługuje arytmetyczne miesiące i arytmetyczne lata, ale nie dni arytmetyczne. Aby wykonać arytmetyczną zorientowaną na dni, przekonwertuj wartość year_month_day_last
na wartość sys_days
.
Składnia
class year_month_day_last; // C++20
Elementy członkowskie
Nazwa/nazwisko | opis |
---|---|
Konstruktory | Konstruowanie year_month_day_last |
day |
Pobierz ostatni dzień miesiąca/roku. |
month |
Pobierz miesiąc. |
month_day_last |
Pobierz wartość month_day_last przechowywaną w tym year_month_day_last obiekcie . |
ok |
Sprawdź, czy year wartości i month znajdują się w prawidłowym zakresie. |
operator+= |
Dodaj miesiące lub lata do tego year_month_day_last elementu . |
operator-= |
Odejmij miesiące lub lata od tego year_month_day_last . |
operator local_days |
Pobierz liczbę dni z sys_days epoki do tej year_month_day_last wartości jako local_days . |
operator sys_days |
Pobierz liczbę dni z sys_days epoki do tej year_month_day_last wartości jako sys_days . |
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_day_last wartości są równe. |
operator<=> |
Porównaj dwie year_month_day_last wartości. Operatory >, >=, <=, <, != są syntetyzowane przez kompilator. |
operator<< |
year_month_day_last Wyprowadzanie elementu do strumienia. |
Wymagania
Nagłówek: <chrono>
(od C++20)
Przestrzeń nazw: std::chrono
Opcja kompilatora: /std:c++latest
Konstruktory
Konstruowanie elementu year_month_day_last
dla określonego miesiąca i roku.
constexpr year_month_day_last(const year& y, const month_day_last& mdl) noexcept;
Parametry
mdl
Wartość miesiąca z obiektu month_day_last
jest przechowywana w skonstruowanym year_month_day_last
obiekcie .
y
Wartość year
jest przechowywana w skonstruowanym year_month_day_last
obiekcie .
Uwagi
Aby uzyskać informacje o składni języka C++20 używanej do określania dat, zobacz operator/
Przykład: tworzenie elementu year_month_day_last
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day_last ymdl{ April / last / 1975 };
std::cout << ymdl;
return 0;
}
1975/Apr/last
day
Jeśli ok()
wartość to true
, zwraca dzień reprezentujący ostatni dzień roku, miesiąc reprezentowany przez ten year_month_day_last
element .
constexpr day day() const noexcept;
Wartość zwracana
Jeśli ok()
wartość to true
, zwraca wartość reprezentującą day
ostatni dzień roku i miesiąca reprezentowanego przez *this
element . W przeciwnym razie wartość zwracana jest nieokreślona.
local_days
Pobierz miesiąc, dzień i rok w tym year_month_day_last
miejscu jako liczbę dni.
constexpr explicit operator local_days() const noexcept;
Wartość zwracana
local_days{sys_days{*this}.time_since_epoch()}
Przykład
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day_last ymdl{ June / last / 2021 };
auto ld = local_days(ymdl);
std::cout << ld.time_since_epoch();
return 0;
}
18808d
month
Pobierz przechowywaną wartość miesiąca.
constexpr month month() const noexcept;
Wartość zwracana
Wartość wyliczenia month
.
month_day_last
month_day_last
Pobiera wartość przechowywaną w tym year_month_day_last
pliku .
constexpr month_day_last month_day_last() const noexcept;
Wartość zwracana
Wartość month_day_last
przechowywana w tym obiekcie year_month_day_last
.
operator sys_days
Pobierz miesiąc, dzień i rok w tym year_month_day_last
jako liczbę dni z epoki zegara systemowego.
constexpr explicit operator sys_days() const noexcept;
Wartość zwracana
Zwraca sys_days{this->year()/this->month()/this->day()}
Przykład
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day_last ymdl{ June / last / 2021 };
auto sd = sys_days(ymdl);
std::cout << sd.time_since_epoch();
return 0;
}
18808d
year
Pobierz rok.
constexpr year year() const noexcept;
Wartość zwracana
year
.
ok
Sprawdź, czy wartości year
i month_day_last
przechowywane w tym year_month_day_last
zakresie znajdują się w prawidłowym zakresie.
constexpr bool ok() const noexcept;
Wartość zwracana
true
jeśli wartość year
i month_day_last
jest przechowywana w tym year_month_day_last
zakresie, znajdują się w prawidłowym zakresie. W przeciwnym razie wartość false
.
operator+=
Dodaj miesiące lub lata do tego year_month_day_last
elementu .
1) constexpr year_month_day_last& operator+=(const months& m) noexcept;
2) constexpr year_month_day_last& operator+=(const years& y) noexcept;
Parametry
m
Liczba miesięcy do dodania.
y
Liczba lat do dodania.
Wartość zwracana
*this
, który odzwierciedla wynik dodawania.
Przykład: operator+=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day_last ymdl{ April / last / 1975 };
std::cout << ymdl << '\n';
ymdl += months{1};
ymdl += years{1};
std::cout << ymdl;
return 0;
}
1975/Apr/last
1976/May/last
operator-=
Odejmij miesiące lub lata od tego year_month_day_last
.
1) constexpr year_month_day_last& operator-=(const months& m) noexcept;
2) constexpr year_month_day_last& operator-=(const years& y) noexcept;
Parametry
m
Liczba miesięcy do odejmowania.
y
Liczba lat do odejmowania.
Wartość zwracana
*this
, który odzwierciedla wynik odejmowania.
Przykład: operator-=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day_last ymdl{ April / last / 1975 };
std::cout << ymdl << '\n';
ymdl -= months{1};
ymdl -= years{1};
std::cout << ymdl;
return 0;
}
1975/Apr/last
1974/Mar/last
Zobacz też
<chrono>
year
year_month
year_month_day
year_month_weekday
year_month_weekday_last
operator/
Odwołanie do plików nagłówka