Namespaces
Variants

std:: tm

From 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)