Namespaces
Variants

timespec_get

From cppreference.net
Défini dans l'en-tête <time.h>
int timespec_get ( struct timespec * ts, int base ) ;
(1) (depuis C11)
#define TIME_UTC /* implementation-defined */
(2) (depuis C11)
1) Modifie l'objet timespec pointé par ts pour contenir l'heure calendaire actuelle dans la base de temps base .
2) S'étend à une valeur appropriée pour être utilisée comme l'argument base de timespec_get

D'autres constantes macro commençant par TIME_ peuvent être fournies par l'implémentation pour indiquer des bases de temps supplémentaires

Si base est TIME_UTC , alors

  • ts - > tv_sec est défini sur le nombre de secondes depuis une époque définie par l'implémentation, tronqué à une valeur entière
  • ts - > tv_nsec est défini sur le nombre entier de nanosecondes, arrondi à la résolution de l'horloge système

Table des matières

Paramètres

ts - pointeur vers un objet de type struct timespec
base - TIME_UTC ou une autre valeur entière non nulle indiquant la base de temps

Valeur de retour

La valeur de base en cas de succès, zéro sinon.

Notes

La fonction POSIX clock_gettime(CLOCK_REALTIME, ts) peut également être utilisée pour remplir une structure timespec avec le temps écoulé depuis l'Époque.

Exemple

#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);
}

Sortie possible :

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

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.27.2.5 La fonction timespec_get (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018):
  • 7.27.2.5 La fonction timespec_get (p: 286)
  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.27.2.5 La fonction timespec_get (p: 390)

Voir aussi

temps en secondes et nanosecondes
(struct)
renvoie la résolution du temps calendaire basée sur une base de temps donnée
(function)
renvoie le temps calendaire actuel du système comme temps depuis l'époque
(function)
Documentation C++ pour timespec_get