Namespaces
Variants

std:: gmtime

From cppreference.net
< cpp ‎ | chrono ‎ | c
Défini dans l'en-tête <ctime>
std:: tm * gmtime ( const std:: time_t * time ) ;

Convertit le temps donné depuis l'époque en tant que valeur std::time_t en temps calendaire, exprimé en temps universel coordonné (UTC).

Table des matières

Paramètres

time - pointeur vers un objet time_t à convertir

Valeur de retour

Pointeur vers un objet interne statique std::tm en cas de succès, ou pointeur nul sinon. La structure peut être partagée entre std::gmtime , std::localtime , et std::ctime et peut être écrasée à chaque invocation.

Notes

Cette fonction peut ne pas être sûre en environnement multithread.

POSIX exige que gmtime définisse errno à EOVERFLOW en cas d'échec dû à un argument trop volumineux.

Exemple

#include <ctime>
#include <iomanip>
#include <iostream>
#include <sstream>
int main()
{
    setenv("TZ", "/usr/share/zoneinfo/Europe/London", 1); // Spécifique à POSIX
    std::tm tm{}; // get_time ne définit pas tous les champs d'où {}
    tm.tm_year = 2020 - 1900; // 2020
    tm.tm_mon = 7 - 1; // Juillet
    tm.tm_mday = 15; // 15
    tm.tm_hour = 10;
    tm.tm_min = 15;
    tm.tm_isdst = 1; // Heure d'été à Londres
    std::time_t t = std::mktime(&tm); 
    std::cout << "UTC:   " << std::put_time(std::gmtime(&t), "%c %Z") << '\n';
    std::cout << "local: " << std::put_time(std::localtime(&t), "%c %Z") << '\n';
}

Sortie possible :

UTC:   Wed Jul 15 09:15:00 2020 GMT
local: Wed Jul 15 10:15:00 2020 BST

Voir aussi

convertit le temps depuis l'époque en temps calendaire exprimé en heure locale
(fonction)
Documentation C pour gmtime