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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour