Classe year_month_weekday
Représente une année, un mois et un nième jour de semaine spécifiques du mois.
Syntaxe
class year_month_weekday; // C++20
Notes
year_month_weekday
prend en charge l’arithmétique orienté années et mois, mais pas l’arithmétique orienté jours. Pour l’arithmétique orienté jours, utilisez la sys_days
conversion pour convertir en un sys_days
, qui prend en charge l’arithmétique orienté jours.
year_month_weekday
est un type de classe de disposition standard et copiable de manière triviale.
Membres
Nom | Description |
---|---|
Constructor |
Construisez un year_month_weekday avec le mois et le jour de la semaine spécifiés. |
index |
Obtenez l’index de la semaine. |
month |
Obtenez la valeur du mois. |
ok |
Vérifiez si la valeur year_month_weekday est valide. |
operator+= |
Ajoutez le nombre spécifié de mois ou d’années. |
operator-= |
Soustrait le nombre spécifié de mois ou d’années. |
operator local_days |
Obtenez le nombre de jours de l’époque system_clock jusqu’à ce year_month_weekday que local_days . |
operator sys_days |
Obtenez le nombre de jours de l’époque system_clock jusqu’à ce year_month_weekday que sys_days . |
weekday |
Obtenez le jour de la semaine. |
weekday_indexed |
Obtenez le [weekday_indexed ] stocké dans ce year_month_weekday fichier . |
year |
Obtenez l’année. |
Non-membres
Nom | Description |
---|---|
operator+ |
Ajoutez des mois ou des années. |
operator- |
Soustraire des mois ou des années. |
operator== |
Déterminez si deux year_month_weekday valeurs sont égales. |
operator<< |
Sortie d’un year_month_weekday flux donné. |
Spécifications
En-tête : <chrono>
(depuis C++20)
Espace de noms : std::chrono
Option du compilateur : /std:c++latest
Constructeur
Construit un objet year_month_weekday
.
// 1)
year_month_weekday() = default
// 2)
constexpr year_month_weekday(const year& y, const month& m, const weekday_indexed& wdi) noexcept;
// 3)
constexpr explicit year_month_weekday(const local_days& dp) noexcept;
// 4)
constexpr year_month_weekday(const sys_days& dp) noexcept;
Paramètres
m
valeur month
.
dp
A sys_days
ou local_days
wdi
valeur weekday
.
y
valeur year
.
Remarques : Constructeur
1) Le constructeur par défaut n’initialise aucun des champs.
2) Construit un year_month_weekday
qui correspond au year
, month
et weekday_indexed
.
3) Construit un year_month_weekday
qui correspond à la date représentée par sys_days{dp.time_since_epoch()}
.
4) Construit un year_month_weekday
qui correspond à la date représentée par dp
. Pour n’importe quel year_month_weekday
(ymdl) pour lequel ok()
est true
, comparaison avec operator==
sera year_month_weekday{sys_days{ymdl}}
true
.
Pour plus d’informations sur la syntaxe C++20 utilisée pour spécifier des dates, consultez operator/
Exemple : Créer un year_month_weekday
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
index
Obtenez l’index de semaine de la semaine dans ce year_month_weekday
.
constexpr unsigned index() const noexcept;
Valeur retournée
Index de la semaine. Par exemple, si la semaine était le premier mercredi de la semaine, l’index serait de 1.
month
Obtenez la valeur du mois.
constexpr month month() const noexcept;
Valeur retournée
valeur month
.
ok
Vérifiez si la valeur stockée dans ce year_month_weekday
champ est valide. Le year
, month
et weekday_index
stocké dans cela year_month_weekday
doit tous être ok
pour que cette fonction retourne true
. Sinon, retourne false
.
constexpr bool ok() const noexcept;
Valeur retournée
true
si la year_month_weekday
valeur est valide. Sinon, false
.
A year_month_weekday
est valide si les month
deux sont valides et si la weekday_indexed
valeur est valide.
operator+=
Ajoutez des mois ou des années à cela year_month_weekday
.
1) constexpr year_month_weekday& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday& operator+=(const years& y) noexcept;
Paramètres
m
Nombre de mois à ajouter.
y
Nombre d’années à ajouter.
Valeur retournée
*this
qui reflète le résultat de l’ajout.
Exemple : operator+=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
ymw += months{1};
ymw += years{1};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
1998/Feb/Wed[1]
operator-=
Soustraire des mois ou des années de ce year_month_weekday
.
1) constexpr year_month_weekday& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday& operator-=(const years& y) noexcept;
Paramètres
m
Nombre de mois à soustraire.
y
Nombre d’années à soustraire.
Valeur retournée
*this
qui reflète le résultat de la soustraction.
Exemple : operator-=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
ymw -= months{1};
ymw -= years{1};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
1995/Dec/Wed[1]
operator local_days
Obtenez le nombre de jours de l’époque system_clock
(1/1/1970) à ceci year_month_weekday
comme local_days
constexpr explicit operator local_days() const noexcept;
Valeur retournée
Si ok()
, retourne un nombre de jours sous la forme local_days{sys_days{*this}.time_since_epoch()}
. Sinon, la valeur retournée n’est pas spécifiée.
operator sys_days
Obtenez le nombre de jours de l’époque system_clock
(1/1/1970) à ceci year_month_day
comme sys_days
.
constexpr operator sys_days() const noexcept;
Valeur retournée
Si ok()
, retourne une sys_days
valeur qui représente la date qui est (index() - 1) * 7
de jours après le premier weekday()
.year()/month()
Si index()
c’est 0
le cas, le retour sys_days
représente la date 7 jours avant le premier weekday()
.year()/month()
weekday
Obtenez l’objet weekday
stocké dans le weekday_indexed
fichier stocké dans ce year_month_weekday
fichier .
constexpr weekday weekday() const noexcept;
Valeur retournée
valeur weekday
.
weekday_indexed
Obtenez le weekday_indexed
fichier stocké dans ce year_month_weekday
fichier .
constexpr weekday_indexed weekday_indexed() const noexcept;
Valeur retournée
valeur weekday_indexed
.
year
Obtenez la valeur de l’année.
constexpr year year() const noexcept;
Valeur retournée
valeur year
.
Voir aussi
<chrono>
year
year_month
year_month_day
year_month_day_last
year_month_weekday_last
operator/
Informations de référence sur les fichiers d’en-tête