Namespaces
Variants

timespec_get

From cppreference.net
Definiert im Header <time.h>
int timespec_get ( struct timespec * ts, int base ) ;
(1) (seit C11)
#define TIME_UTC /* implementierungsdefiniert */
(2) (seit C11)
1) Modifiziert das timespec -Objekt, auf das ts zeigt, um die aktuelle Kalenderzeit in der Zeitbasis base zu speichern.
2) Erweitert sich zu einem Wert, der geeignet ist für die Verwendung als base Argument von timespec_get

Andere Makro-Konstanten, die mit TIME_ beginnen, können durch die Implementierung bereitgestellt werden, um zusätzliche Zeitbasen anzuzeigen

Wenn base gleich 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

Inhaltsverzeichnis

Parameter

ts - Zeiger auf ein Objekt vom Typ struct timespec
base - TIME_UTC oder ein anderer ganzzahliger Wert ungleich Null, der die Zeitbasis angibt

Rückgabewert

Der Wert von base bei Erfolg, andernfalls null.

Hinweise

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

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
**Übersetzungserläuterungen:** - "Run this code" → "Diesen Code ausführen" - "Possible output:" → "Mögliche Ausgabe:" - HTML-Tags, Attribute und Code-Blöcke wurden unverändert beibehalten - C++-spezifische Begriffe und Code-Inhalte wurden nicht übersetzt - Die ursprüngliche Formatierung wurde vollständig erhalten

Referenzen

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

Siehe auch

Zeit in Sekunden und Nanosekunden
(struct)
gibt die Auflösung der Kalenderzeit basierend auf einer gegebenen Zeitbasis zurück
(function)
gibt die aktuelle Kalenderzeit des Systems als Zeit seit Epoche zurück
(function)
C++ documentation für timespec_get