Třída year_month_weekday_last
Konkrétní rok, měsíc a poslední den v týdnu v měsíci.
Syntaxe
class year_month_weekday_last; // C++20
Poznámky
year_month_weekday_last
podporuje aritmetické roky a měsíce, ale ne dny orientované aritmetické. U aritmetik orientovaných na dny použijte sys_days
převod na sys_days
, který podporuje aritmetické dny orientované na dny.
year_month_weekday_last
je triviálně kopírovatelný a standardní typ třídy rozložení.
Členové
Název | Popis |
---|---|
Constructor |
Vytvořte s year_month_weekday_last určeným měsícem a dnem v týdnu. |
month |
Získá hodnotu měsíce. |
ok |
Zkontrolujte, jestli je platná year_month_weekday_last . |
operator+= |
Přidejte zadaný počet měsíců nebo roků. |
operator-= |
Odečtěte zadaný počet měsíců nebo roků. |
operator local_days |
Získejte počet dní od epochy system_clock do této year_month_weekday_last doby jako local_days . |
operator sys_days |
Získejte počet dní od epochy system_clock do této year_month_weekday_last doby jako sys_days . |
weekday |
Chytni den v týdnu. |
weekday_last |
Získejte uloženou weekday_last v tomto year_month_weekday_last souboru . |
year |
Získejte rok. |
Nečlenové
Název | Popis |
---|---|
operator+ |
Přidejte měsíce nebo roky. |
operator- |
Odečítá měsíce nebo roky. |
operator== |
Určete, zda jsou dvě year_month_weekday_last hodnoty stejné. |
operator<< |
year_month_weekday_last Vypíše do daného datového proudu. |
Požadavky
Hlavička: <chrono>
(od C++20)
Obor názvů: std::chrono
Možnost kompilátoru: /std:c++latest
Konstruktor
Vytvoří .year_month_weekday_last
constexpr year_month_weekday_last(const year& y, const month& m, const weekday_last& wdl) noexcept
Parametry
m
Hodnota month
.
wdl
Hodnota weekday_last
.
y
Hodnota year
.
Informace o syntaxi jazyka C++20 použité k určení kalendářních dat najdete v tématu operator/
Příklad: Vytvoření 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
Získá hodnotu měsíce.
constexpr month month() const noexcept;
Vrácená hodnota
Hodnota month
.
ok
Zkontrolujte, jestli je hodnota uložená v této year_month_weekday_last
hodnotě platná. , year
a uložené v tomto year_month_weekday_last
musí být ok
všechny pro tuto funkci vrátit true
.weekday_last
month
V opačném případě vrátí hodnotu false
.
constexpr bool ok() const noexcept;
Vrácená hodnota
true
year_month_weekday_last
pokud je hodnota platná. V opačném případě hodnota false
.
Hodnota A year_month_weekday_last
je platná, pokud weekday_indexed
month
year
jsou všechny platné.
operator+=
Přidejte k tomu year_month_weekday_last
měsíce nebo roky .
1) constexpr year_month_weekday_last& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator+=(const years& y) noexcept;
Parametry
m
Počet měsíců, které se mají sčítat.
y
Počet roků, které se mají přičíst.
Vrácená hodnota
*this
který odráží výsledek sčítání.
Příklad: 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-=
Odečítá měsíce nebo roky od tohoto 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
Počet měsíců, které se mají odečíst.
y
Počet roků, které se mají odečíst.
Vrácená hodnota
*this
který odráží výsledek odčítání.
Příklad: 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
Získejte počet dnů od system_clock
epochy (1. 1. 1970) jako year_month_weekday_last
local_days
constexpr explicit operator local_days() const noexcept;
Vrácená hodnota
Pokud ok()
vrátí počet dnů jako local_days{sys_days{*this}.time_since_epoch()}
. V opačném případě není zadaná vrácená hodnota.
operator sys_days
Získejte počet dnů od system_clock
epochy (1.1.1970) do tohoto typu year_month_day
sys_days
.
constexpr operator sys_days() const noexcept;
Vrácená hodnota
Pokud ok() == true
vrátí hodnotu sys_days
, která představuje poslední weekday()
z year() / month()
(poznámka: /
je operátor kalendářního data, nikoli dělení). V opačném případě není zadaná vrácená hodnota.
weekday
Získat .weekday
constexpr weekday weekday() const noexcept;
Vrácená hodnota
weekday_last
Získejte uloženou weekday_last
v tomto year_month_weekday_last
souboru .
constexpr weekday_indexed weekday_last() const noexcept;
Vrácená hodnota
year
Získá hodnotu roku.
constexpr year year() const noexcept;
Vrácená hodnota
Hodnota year
.
Viz také
<chrono>
year
year_month
year_month_day
year_month_day_last
year_month_weekday
operator/
Referenční informace k souborům hlaviček