Namespaces
Variants

std:: timespec_get

From cppreference.net
< cpp ‎ | chrono ‎ | c
Definido en el encabezado <ctime>
int timespec_get ( std:: timespec * ts, int base ) ;
(1) (desde C++17)
#define TIME_UTC /* definido por la implementación */
(2) (desde C++17)
1) Modifica el objeto std::timespec apuntado por ts para contener el tiempo calendario actual en la base de tiempo base .
2) Se expande a un valor adecuado para usar como el argumento base de std::timespec_get .

Otras constantes macro que comienzan con TIME_ pueden ser proporcionadas por la implementación para indicar bases de tiempo adicionales.

Si base es TIME_UTC , entonces

  • ts - > tv_sec se establece al número de segundos desde una época definida por la implementación, truncado a un valor entero,
  • ts - > tv_nsec se establece al número integral de nanosegundos, redondeado a la resolución del reloj del sistema.

Contenidos

Parámetros

ts - puntero a un objeto de tipo std::timespec
base - TIME_UTC u otro valor entero distinto de cero que indica la base de tiempo

Valor de retorno

El valor de base si tiene éxito, cero en caso contrario.

Notas

La función POSIX clock_gettime(CLOCK_REALTIME, ts) también puede utilizarse para llenar un std::timespec con el tiempo transcurrido desde la Época.

Ejemplo

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

Salida posible:

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

Véase también

(C++17)
tiempo en segundos y nanosegundos
(estructura)
devuelve el tiempo actual del sistema como tiempo desde el epoch
(función)
Documentación C para timespec_get