Namespaces
Variants

std:: timespec_get

From cppreference.net
< cpp ‎ | chrono ‎ | c
Défini dans l'en-tête <ctime>
int timespec_get ( std:: timespec * ts, int base ) ;
(1) (depuis C++17)
#define TIME_UTC /* défini par l'implémentation */
(2) (depuis C++17)
1) Modifie l'objet std::timespec pointé par ts pour contenir l'heure calendaire actuelle dans la base de temps base .
2) S'étend à une valeur appropriée pour utilisation comme argument base de std::timespec_get .

D'autres constantes de 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 std::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 std::timespec avec le temps écoulé depuis l'Époque.

Exemple

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

Sortie possible :

Current time: 06/24/16 20:07:42.949494132 UTC

Voir aussi

(C++17)
temps en secondes et nanosecondes
(struct)
retourne l'heure actuelle du système comme temps depuis l'époque
(fonction)
Documentation C pour timespec_get