Partage via


Classe year_month_day_last

Représente le dernier jour d’une année et d’un mois spécifiques.

year_month_day_last prend en charge l’arithmétique du mois et les années arithmétiques, mais pas les jours arithmétiques. Pour effectuer des arithmétiques orientés jours, convertissez-le year_month_day_last en un sys_days.

Syntaxe

class year_month_day_last; // C++20

Membres

Nom Description
Constructeurs Construire un year_month_day_last
day Obtenez le dernier jour du mois/année.
month Obtenez le mois.
month_day_last Obtenez la valeur month_day_last stockée dans ce year_month_day_lastfichier .
ok Vérifiez que les valeurs et month les year valeurs se trouvent dans la plage valide.
operator+= Ajoutez des mois ou des années à cela year_month_day_last.
operator-= Soustraire des mois ou des années de ce year_month_day_last.
operator local_days Obtenez le nombre de jours de l’époque sys_days jusqu’à ce year_month_day_last que local_days.
operator sys_days Obtenez le nombre de jours de l’époque sys_days jusqu’à ce year_month_day_last que sys_days.
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_day_last valeurs sont égales.
operator<=> Comparez deux year_month_day_last valeurs. Les >, >=, <=, <, != opérateurs sont synthétisés par le compilateur.
operator<< Sortie d’un year_month_day_last flux.

Spécifications

En-tête : <chrono> (depuis C++20)

Espace de noms : std::chrono

Option du compilateur : /std:c++latest

Constructeurs

Construisez un year_month_day_last mois et une année spécifiés.

constexpr year_month_day_last(const year& y, const month_day_last& mdl) noexcept;

Paramètres

mdl La valeur du mois à partir de celle-ci month_day_last est stockée dans la construction year_month_day_last.

y
La year valeur est stockée dans la construction year_month_day_last.

Notes

Pour plus d’informations sur la syntaxe C++20 utilisée pour spécifier des dates, consultez operator/

Exemple : Créer un 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

Si ok() c’est truele cas, retourne un jour représentant le dernier jour de l’année, mois représenté par ce year_month_day_last.

constexpr day day() const noexcept;

Valeur retournée

Si ok() c’est truele cas, retourne un day représentant le dernier jour de l’année et le mois représenté par *this. Sinon, la valeur de retour n’est pas spécifiée.

local_days

Obtenez le mois, le jour et l’année dans ce year_month_day_last nombre de jours.

constexpr explicit operator local_days() const noexcept;

Valeur retournée

local_days{sys_days{*this}.time_since_epoch()}

Exemple

// 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

Obtenez la valeur du mois stocké.

constexpr month month() const noexcept;

Valeur retournée

valeur month.

month_day_last

Obtient la month_day_last valeur stockée dans ce year_month_day_last.

constexpr month_day_last month_day_last() const noexcept;

Valeur retournée

Valeur month_day_last stockée dans ce year_month_day_lastfichier .

operator sys_days

Obtenez le mois, le jour et l’année dans ce year_month_day_last nombre de jours à partir de l’époque pour l’horloge système.

constexpr explicit operator sys_days() const noexcept;

Valeur retournée

Retourne sys_days{this->year()/this->month()/this->day()}.

Exemple

// 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

Obtenez l’année.

constexpr year year() const noexcept;

Valeur retournée

Le year.

ok

Vérifiez si la valeur et month_day_last la year valeur stockées dans cette year_month_day_last plage sont toutes les deux dans la plage valide.

constexpr bool ok() const noexcept;

Valeur retournée

truesi la valeur et month_day_last la year valeur stockées dans cette year_month_day_last plage sont toutes les deux dans la plage valide. Sinon, false.

operator+=

Ajoutez des mois ou des années à cela 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;

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_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-=

Soustraire des mois ou des années de ce 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;

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_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

Voir aussi

<chrono>
year
year_month
year_month_day
year_month_weekday
year_month_weekday_last
operator/
Informations de référence sur les fichiers d’en-tête