Namensräume
Varianten
Aktionen

timespec_get

Von cppreference.com
< c‎ | chrono
Definiert in Header <time.h>
int timespec_get( struct timespec *ts, int base );
(1) (seit C11)
#define TIME_UTC /* implementation-defined */
(2) (seit C11)
1) Modifiziert das von ts zeigende timespec-Objekt so, dass es die aktuelle Kalenderzeit in der Zeitbasis base enthält.
2) Erweitert sich zu einem Wert, der als Argument base für timespec_get verwendet werden kann.

Andere Makrokonstanten, die mit TIME_ beginnen, können von der Implementierung bereitgestellt werden, um zusätzliche Zeitbasen anzuzeigen.

Wenn base TIME_UTC ist, dann gilt:

  • ts->tv_sec wird auf die Anzahl der Sekunden seit einer implementierungsdefinierten Epoche gesetzt, abgeschnitten auf einen ganzen 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 struct 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, sonst Null.

[bearbeiten] Anmerkungen

Die POSIX-Funktion clock_gettime(CLOCK_REALTIME, ts) kann ebenfalls verwendet werden, um ein timespec mit der Zeit seit der Epoche zu füllen.

[bearbeiten] Beispiel

#include <stdio.h>
#include <time.h>
 
int main(void)
{
    struct timespec ts;
    timespec_get(&ts, TIME_UTC);
    char buff[100];
    strftime(buff, sizeof buff, "%D %T", gmtime(&ts.tv_sec));
    printf("Current time: %s.%09ld UTC\n", buff, ts.tv_nsec);
}

Mögliche Ausgabe

Current time: 02/18/15 14:34:03.048508855 UTC

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.27.2.5 Die Funktion timespec_get (p: TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.27.2.5 Die Funktion timespec_get (p: 286)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.27.2.5 Die Funktion timespec_get (p: 390)

[bearbeiten] Siehe auch

Zeit in Sekunden und Nanosekunden
(Struktur)[bearbeiten]
gibt die Auflösung der Kalenderzeit basierend auf einer gegebenen Zeitbasis zurück
(Funktion) [bearbeiten]
gibt die aktuelle Kalenderzeit des Systems als Zeit seit der Epoche zurück
(Funktion) [bearbeiten]
C++ Dokumentation für timespec_get