std::timespec_get
Von cppreference.com
| Definiert im Header <ctime> |
||
| int timespec_get( std::timespec* ts, int base ); |
(1) | (seit C++17) |
| #define TIME_UTC /* implementierungsabhängig */ |
(2) | (seit C++17) |
1) Modifiziert das von ts gezeigte Objekt vom Typ std::timespec, um die aktuelle Kalenderzeit in der Zeitbasis base zu speichern.
2) Erweitert sich zu einem Wert, der als Argument base für
std::timespec_get verwendet werden kann.Andere Makrokonstanten, die mit TIME_ beginnen, können von der Implementierung bereitgestellt werden, um zusätzliche Zeitbasen anzugeben.
Wenn base TIME_UTC ist, dann
- ts->tv_sec wird auf die Anzahl der Sekunden seit einer implementierungsdefinierten Epoche gesetzt, abgeschnitten auf einen ganzzahligen Wert,
- ts->tv_nsec wird auf die ganzzahlige Anzahl von Nanosekunden gesetzt, gerundet auf die Auflösung der Systemuhr.
Inhalt |
[bearbeiten] Parameter
| ts | - | Zeiger auf ein Objekt vom Typ std::timespec |
| base | - | TIME_UTC oder ein anderer von Null verschiedener ganzzahliger Wert, der die Zeitbasis angibt |
[bearbeiten] Rückgabewert
Der Wert von base bei Erfolg, andernfalls Null.
[bearbeiten] Hinweise
Die POSIX-Funktion clock_gettime(CLOCK_REALTIME, ts) kann ebenfalls verwendet werden, um ein std::timespec mit der Zeit seit der Epoche zu füllen.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <ctime> #include <iostream> int main() { std::timespec ts; std::timespec_get(&ts, TIME_UTC); char buf[100]; std::strftime(buf, sizeof buf, "%D %T", std::gmtime(&ts.tv_sec)); std::cout << "Current time: " << buf << '.' << ts.tv_nsec << " UTC\n"; }
Mögliche Ausgabe
Current time: 06/24/16 20:07:42.949494132 UTC
[bearbeiten] Siehe auch
| (C++17) |
Zeit in Sekunden und Nanosekunden (Struktur) |
| gibt die aktuelle Zeit des Systems als Zeit seit der Epoche zurück (Funktion) | |
| C-Dokumentation für timespec_get
| |