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_last fichier . |
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 true
le 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 true
le 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_last
fichier .
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
true
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. 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