Namespaces
Variants

std:: localtime

From cppreference.net
< cpp ‎ | chrono ‎ | c
Definiert im Header <ctime>
std:: tm * localtime ( const std:: time_t * time ) ;

Wandelt die angegebene Zeit seit der Epoche als std::time_t -Wert in Kalenderzeit um, ausgedrückt in Ortszeit.

Inhaltsverzeichnis

Parameter

time - Zeiger auf ein std::time_t Objekt zur Konvertierung

Rückgabewert

Zeiger auf ein statisches internes std::tm -Objekt bei Erfolg, andernfalls Nullzeiger. Die Struktur kann zwischen std::gmtime , std::localtime und std::ctime geteilt werden und kann bei jedem Aufruf überschrieben werden.

Hinweise

Diese Funktion ist möglicherweise nicht threadsicher. Die Microsoft CRT Implementierung ist threadsicher.

POSIX verlangt, dass diese Funktion errno auf EOVERFLOW setzt, wenn sie fehlschlägt, weil das Argument zu groß ist.

POSIX legt fest , dass die Zeitzoneninformationen durch diese Funktion bestimmt werden, als ob tzset aufgerufen würde, was die Umgebungsvariable TZ ausliest.

Beispiel

#include <ctime>
#include <iomanip>
#include <iostream>
#include <sstream>
int main()
{
    setenv("TZ", "/usr/share/zoneinfo/America/Los_Angeles", 1); // POSIX-spezifisch
    std::tm tm{}; // Nullinitialisierung
    tm.tm_year = 2020 - 1900; // 2020
    tm.tm_mon = 2 - 1; // Februar
    tm.tm_mday = 15; // 15.
    tm.tm_hour = 10;
    tm.tm_min = 15;
    tm.tm_isdst = 0; // Keine Sommerzeit
    std::time_t t = std::mktime(&tm); 
    std::cout << "UTC:   " << std::put_time(std::gmtime(&t), "%c %Z") << '\n';
    std::cout << "lokal: " << std::put_time(std::localtime(&t), "%c %Z") << '\n';
}

Mögliche Ausgabe:

UTC:   Sat Feb 15 18:15:00 2020 GMT
local: Sat Feb 15 10:15:00 2020 PST

Siehe auch

wandelt Zeit seit Epoche in Kalenderzeit um, ausgedrückt als Koordinierte Weltzeit
(Funktion)
wandelt Zeit seit Epoche in Kalenderzeit um, ausgedrückt als Ortszeit
(Funktion)
C-Dokumentation für localtime