std::localtime
Von cppreference.com
| Definiert im Header <ctime> |
||
| std::tm* localtime( const std::time_t* time ); |
||
Konvertiert die gegebene Zeit seit Epoche als std::time_t-Wert in Kalenderzeit, ausgedrückt in lokaler Zeit.
Inhalt |
[bearbeiten] Parameter
| time | - | Zeiger auf ein std::time_t-Objekt zur Konvertierung |
[bearbeiten] Rückgabewert
Zeiger auf ein statisches internes std::tm-Objekt bei Erfolg oder Nullzeiger bei Misserfolg. Die Struktur kann zwischen std::gmtime, std::localtime und std::ctime geteilt werden und kann bei jedem Aufruf überschrieben werden.
[bearbeiten] Hinweise
Diese Funktion ist möglicherweise nicht threadsicher.
POSIX schreibt vor, dass diese Funktion errno auf EOVERFLOW setzt, wenn sie fehlschlägt, weil das Argument zu groß ist.
POSIX spezifiziert, dass die Zeitzoneninformationen von dieser Funktion wie durch Aufruf von tzset ermittelt werden, die die Umgebungsvariable TZ liest.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <ctime> #include <iomanip> #include <iostream> #include <sstream> int main() { setenv("TZ", "/usr/share/zoneinfo/America/Los_Angeles", 1); // POSIX-specific std::tm tm{}; // Zero initialise tm.tm_year = 2020 - 1900; // 2020 tm.tm_mon = 2 - 1; // February tm.tm_mday = 15; // 15th tm.tm_hour = 10; tm.tm_min = 15; tm.tm_isdst = 0; // Not daylight saving 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'; }
Mögliche Ausgabe
UTC: Sat Feb 15 18:15:00 2020 GMT local: Sat Feb 15 10:15:00 2020 PST
[bearbeiten] Siehe auch
| Konvertiert die seit der Epoche vergangene Zeit in eine Kalenderzeit, ausgedrückt als Universal Coordinated Time. (Funktion) | |
| (C23)(C11) |
konvertiert Zeit seit Epoche in Kalenderzeit, ausgedrückt als lokale Zeit (Funktion) |
| C-Dokumentation für localtime
| |