Namensräume
Varianten
Aktionen

std::timespec_get

Von cppreference.com
< cpp‎ | chrono‎ | c
 
 
 
C-Stil Datums- und Zeitwerkzeuge
Funktionen
Zeitmanipulation
timespec_get
(C++17)
Formatkonvertierungen
Konstanten
Typen
(C++17)
 
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

#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)[bearbeiten]
gibt die aktuelle Zeit des Systems als Zeit seit der Epoche zurück
(Funktion) [bearbeiten]
C-Dokumentation für timespec_get