Partager via


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_weekdayfichier .
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, monthet 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, monthet 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 0le 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_weekdayfichier .

constexpr weekday weekday() const noexcept;

Valeur retournée

valeur weekday.

weekday_indexed

Obtenez le weekday_indexed fichier stocké dans ce year_month_weekdayfichier .

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