std::chrono:: year_month_day_last
|
Défini dans l'en-tête
<chrono>
|
||
|
class
year_month_day_last
;
|
(depuis C++20) | |
La classe
year_month_day_last
représente le dernier jour d'une année et d'un mois spécifiques. C'est un point temporel basé sur des champs, avec une résolution de
std::chrono::days
, soumis à la limite qu'il ne peut représenter que le dernier jour d'un mois.
std::chrono::years - et les opérations arithmétiques orientées std::chrono::months sont directement pris en charge. Une conversion implicite vers std::chrono::sys_days permet d'effectuer efficacement des opérations arithmétiques orientées std::chrono::days .
year_month_day_last
est un
TriviallyCopyable
StandardLayoutType
.
Table des matières |
Fonctions membres
construit un objet
year_month_day_last
(fonction membre publique) |
|
|
modifie le point temporel d'un certain nombre de mois ou d'années
(fonction membre publique) |
|
|
accède aux champs de cet objet
(fonction membre publique) |
|
|
convertit en
std::chrono::time_point
(fonction membre publique) |
|
|
vérifie si cet objet représente une date valide
(fonction membre publique) |
Fonctions non membres
|
(C++20)
|
compare deux valeurs
year_month_day_last
(fonction) |
|
(C++20)
|
ajoute ou soustrait un
year_month_day_last
et un certain nombre d'années ou de mois
(fonction) |
|
(C++20)
|
écrit un
year_month_day_last
dans un flux
(modèle de fonction) |
Classes d'assistance
prise en charge du formatage pour
year_month_day_last
(spécialisation de modèle de classe) |
|
|
prise en charge du hachage pour
std::chrono::year_month_day_last
(spécialisation de modèle de classe) |
Exemple
#include <chrono> #include <iostream> int main() { const auto ymd = std::chrono::year_month_day { std::chrono::floor<std::chrono::days>(std::chrono::system_clock::now()) }; const std::chrono::year_month_day_last ymdl { ymd.year(), ymd.month() / std::chrono::last }; std::cout << "The last day of present month (" << ymdl << ") is: " << std::chrono::year_month_day{ymdl}.day() << '\n'; // The 'last' object can be placed wherever it is legal to place a 'day': using namespace std::chrono; constexpr std::chrono::year_month_day_last ymdl1 = 2023y / February / last, ymdl2 = last / February / 2023y, ymdl3 = February / last / 2023y; static_assert(ymdl1 == ymdl2 && ymdl2 == ymdl3); }
Sortie possible :
The last day of present month (2023/Aug/last) is: 31
Voir aussi
|
(C++20)
|
représente une
year
,
month
et
day
spécifiques
(classe) |