Namespaces
Variants

std:: tm

From fr.cppreference.net
< cpp ‎ | chrono ‎ | c
Défini dans l'en-tête <ctime>
struct tm ;

Structure contenant une date et une heure calendaires décomposées en leurs composants.

Table des matières

Objets membres

int tm_sec
secondes après la minute – [ ​ 0 ​ , 61 ] (jusqu'en C++11) [ ​ 0 ​ , 60 ] (depuis C++11) [note 1]
(membre public)
int tm_min
minutes après l'heure – [ ​ 0 ​ , 59 ]
(membre public)
int tm_hour
heures depuis minuit – [ ​ 0 ​ , 23 ]
(membre public)
int tm_mday
jour du mois – [ 1 , 31 ]
(membre public)
int tm_mon
mois depuis janvier – [ ​ 0 ​ , 11 ]
(membre public)
int tm_year
années depuis 1900
(membre public)
int tm_wday
jours depuis dimanche – [ ​ 0 ​ , 6 ]
(membre public)
int tm_yday
jours depuis le 1er janvier – [ ​ 0 ​ , 365 ]
(membre public)
int tm_isdst
Indicateur d'heure d'été. La valeur est positive si l'heure d'été est en vigueur, zéro si elle ne l'est pas et négative si aucune information n'est disponible.
(membre public)
  1. ↑ La plage autorise une seconde intercalaire positive. Deux secondes intercalaires dans la même minute ne sont pas autorisées (la plage [ ​ 0 ​ , 61 ] était un défaut introduit dans C89 et corrigé dans C99).

Notes

Les bibliothèques C BSD, GNU et musl prennent en charge deux membres supplémentaires, qui sont standardisés dans POSIX.1-2024 .

long tm_gmtoff
secondes à l'est de l'UTC
(objet membre public)
const char* tm_zone
abréviation du fuseau horaire
(objet membre public)

Exemple

#include <ctime>
#include <iostream>
int main()
{
    std::tm tm{};
    tm.tm_year = 2022 - 1900;
    tm.tm_mday = 1;
    std::mktime(&tm);
    std::cout << std::asctime(&tm); // note: '\n' final implicite
}

Sortie possible :

Sat Jan  1 00:00:00 2022

Voir aussi

convertit le temps depuis l'époque en temps calendaire exprimé en heure locale
(fonction)
convertit le temps depuis l'époque en temps calendaire exprimé en temps universel coordonné
(fonction)