Namespaces
Variants

std:: localtime

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

Convertit le temps donné depuis l'époque en tant que valeur std::time_t en temps calendaire, exprimé en heure locale.

Table des matières

Paramètres

time - pointeur vers un std::time_t objet à 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 dans un environnement multithread. L'implémentation Microsoft CRT est sûre pour les threads.

POSIX exige que cette fonction définisse errno à EOVERFLOW si elle échoue parce que l'argument est trop grand.

POSIX spécifie que les informations de fuseau horaire sont déterminées par cette fonction comme si en appelant tzset , qui lit la variable d'environnement TZ .

Exemple

#include <ctime>
#include <iomanip>
#include <iostream>
#include <sstream>
int main()
{
    setenv("TZ", "/usr/share/zoneinfo/America/Los_Angeles", 1); // Spécifique à POSIX
    std::tm tm{}; // Initialisation à zéro
    tm.tm_year = 2020 - 1900; // 2020
    tm.tm_mon = 2 - 1; // Février
    tm.tm_mday = 15; // 15
    tm.tm_hour = 10;
    tm.tm_min = 15;
    tm.tm_isdst = 0; // Pas d'heure d'été
    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:   Sat Feb 15 18:15:00 2020 GMT
local: Sat Feb 15 10:15:00 2020 PST

Voir aussi

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