std:: mktime
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert im Header
<ctime>
|
||
|
std::
time_t
mktime
(
std::
tm
*
time
)
;
|
||
Wandelt die lokale Kalenderzeit in eine Zeit seit dem Epochenbeginn als std::time_t Objekt um. time - > tm_wday und time - > tm_yday werden ignoriert. Die Werte in time dürfen außerhalb ihrer normalen Bereiche liegen.
Ein negativer Wert von
time
-
>
tm_isdst
veranlasst
mktime
zu versuchen festzustellen, ob Sommerzeit in Kraft war.
Wenn die Konvertierung erfolgreich ist, wird das time -Objekt modifiziert. Alle Felder von time werden aktualisiert, um in ihre gültigen Bereiche zu passen. time - > tm_wday und time - > tm_yday werden anhand der in anderen Feldern verfügbaren Informationen neu berechnet.
Inhaltsverzeichnis |
Parameter
| time | - | Zeiger auf ein std::tm Objekt, das die lokale Kalenderzeit zur Konvertierung angibt |
Rückgabewert
Zeit seit Epoche als std::time_t -Objekt bei Erfolg oder - 1 falls time nicht als std::time_t -Objekt dargestellt werden kann.
Hinweise
Wenn das
std::tm
-Objekt von
std::get_time
oder der POSIX-Funktion
strptime
erhalten wurde, ist der Wert von
tm_isdst
unbestimmt und muss vor dem Aufruf von
mktime
explizit gesetzt werden.
Beispiel
Konstruieren Sie explizit eine lokale Zeit.
#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::tm local = *std::localtime(&t); std::cout << "local: " << std::put_time(&local, "%c %Z") << '\n'; }
Mögliche Ausgabe:
local: Sat Feb 15 10:15:00 2020 PST
Siehe auch
|
wandelt Zeit seit Epoche in Kalenderzeit ausgedrückt als lokale Zeit um
(Funktion) |
|
|
C-Dokumentation
für
mktime
|
|