es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: C++-CHRONO

¿Por qué chrono::system_clock devuelve microsegundos mientras que clock_gettime devuelve nanosegundos?

std::chrono::system_clock::time_since_epoch().count() me da un resultado en microsegundos. Quiero obtener la hora actual en nanosegundos. Pero no puedo usar high_resolution_clock porque en mi sistema es un alias en steady_clock (el reloj monotónico). Sé que mi sistema es capaz de mostrar los nanosegundos, porque si uso clock_gettime(CLOCK_REALTIME, &ts) obtengo una hora de . . . Read more

Formato C++20 sys_time con precisión en milisegundos

Estoy intentando escribir una cadena de tiempo con precisión de milisegundos en MSVC 19.11 con /stc:c++latest. Con esto obtengo una precisión de 7 dígitos, lo cual no quiero. auto now = std::chrono::system_clock::now(); std::cout << std::format(“{0:%d.%m.%Y %H:%M:%S}”, now); Intenté std::cout << std::format(“{0:%d.%m.%Y %H:%M:%S.3}”, now); y algunas posibilidades de std::setprecision(3) en vano. . . . Read more

Tipos incompatibles ‘std::chrono::_V2::steady_clock’ y ‘std::chrono::_V2::system_clock’.

Estoy tratando de compilar mi programa en mingw64 (GCC v11.2). Tengo la siguiente estructura: En un archivo de encabezado: struct Timer { std::chrono::time<em>point< std::chrono::steady</em>clock > start; std::chrono::time<em>point< std::chrono::steady</em>clock > end; <pre><code>Timer( ); ~Timer( ); </code></pre> }; <code> En un archivo fuente: </code> util::Timer::Timer( ) : start( std::chrono::high<em>resolution</em>clock::now( ) ) { . . . Read more

Conversión entre google.protobuf.Timestamp y std::chrono::time_point La conversión entre google.protobuf.Timestamp y std::chrono::time_point se realiza de la siguiente manera: – Para convertir de google.protobuf.Timestamp a std::chrono::time_point, se deben seguir estos pasos: 1. Obtener el valor de segundos y nanosegundos del objeto google.protobuf.Timestamp. 2. Crear una variable de tipo std::chrono::time_point utilizando el constructor adecuado. – Para convertir de std::chrono::time_point a google.protobuf.Timestamp, se deben seguir estos pasos: 1. Obtener el valor de la duración desde el punto de tiempo inicial en segundos y nanosegundos. 2. Crear un objeto google.protobuf.Timestamp con los valores obtenidos. Asegúrese de utilizar los tipos de datos adecuados y manejar correctamente las conversiones de unidades de tiempo entre segundos y nanosegundos.

Estoy intentando convertir correctamente un std::chrono::time_point<std::chrono::steady_clock> (C++) a un google.protobuf.Timestamp (protocol buffers) y luego de vuelta a un steady_clock. Preferiría que se represente con una resolución de nanosegundos, ya que los datos que planeo serializar/deserializar son mediciones con marca de tiempo que se evaluarán en un contexto diferente. Como no . . . Read more