Cómo convertir tiempo de época en C++

La función de tiempo en la biblioteca estándar de C++ devuelve los segundos transcurridos desde una fecha y hora específicas y estandarizadas conocidas como época. Si bien este valor contiene toda la información necesaria para calcular la hora y la fecha actuales del sistema, escribir su propio código de traducción de tiempo de época es propenso a errores. El uso de las funciones de conversión de tiempo proporcionadas por la biblioteca estándar hace que este proceso de traducción sea trivial, lo que le permite concentrarse en las partes más complejas de su aplicación.

Incluya la funcionalidad de tiempo de la biblioteca estándar de C++ en su aplicación. Agregue la siguiente línea al principio de su lista de inclusión:

incluir

Obtenga los segundos transcurridos desde la época y guárdelo localmente. Haga esto llamando a time() y almacenando el resultado en un objeto de tipo time_t. La función de tiempo también acepta un puntero a un objeto de tipo time_t como argumento, pero es más sencillo almacenar este objeto localmente en la pila:

time_t timeSinceEpoch = time(NULL);

Cree una estructura de tiempo para almacenar el resultado de la conversión de tiempo. Esta estructura se define en el archivo de encabezado time.h como una estructura denominada tm y proporciona variables miembro con nombres convenientes para cada componente del tiempo convertido:

tm resultado de tiempo;

Utilice una de las funciones de conversión integradas para almacenar el valor time_t obtenido anteriormente como una estructura tm. Para simplificar, el siguiente código convierte un objeto time_t en una estructura UTC tm:

timeResult = gmtime( &timeSinceEpoch );

Referencias

Puntas

  • La biblioteca estándar también proporciona una función llamada localtime que convierte un objeto time_t a la hora local, en lugar de a la hora UTC.
  • Hay varias funciones disponibles para convertir aún más una estructura tm en una cadena legible por humanos, lista para enviar al usuario.

Advertencias

  • Tenga en cuenta la época desde la que cuenta su computadora, ya que esto puede afectar el valor de salida. La mayoría de las computadoras cuentan desde el 1 de enero de 1970.
  • La precisión máxima del código anterior es de un segundo. Para obtener tiempos más precisos con valores inferiores a un segundo, deberá utilizar un método diferente,

Entradas Relacionadas

Subir

Si continúas navegando por esta web, entendemos que aceptas las cookies que usamos para mejorar nuestros servicios. Más imformación