Tecnología

Inicio

Cómo convertir efeméride del instante en C ++

Cómo convertir efeméride del instante en C ++


La función de tiempo en el C ++ devuelve la librería estándar de segundos transcurridos desde una fecha específica, estandarizada y tiempo conocido como la época. Si bien este valor contiene toda la información necesaria para calcular la hora y fecha actuales del sistema, escribiendo su propio código de la traducción en tiempo época es propenso a errores. Uso de las funciones de conversión previstos de la biblioteca estándar hace que este proceso de traducción trivial, que le permite centrarse en las partes más complejas de su aplicación.

Instrucciones

1 Incluir la funcionalidad de tiempo de la biblioteca estándar en su aplicación C ++. Agregue la línea siguiente a la parte superior de la lista de inclusión:

incluir <time.h>

2 Obtener los segundos transcurridos desde la época, y almacenarla localmente. Para ello, el tiempo () llamando, y almacenar 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 un argumento, pero es más fácil de almacenar este objeto de forma local en la pila:

time_t timeSinceEpoch = tiempo (NULL);

3 Crear una estructura temporal para almacenar el resultado de la conversión del tiempo. Esta estructura se define en el archivo de cabecera time.h como una estructura llamada tm, y proporciona las variables miembro convenientemente con nombres de cada componente de las veces convertido:

tm timeResult;

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

timeResult = gmtime (y timeSinceEpoch);

Consejos y advertencias

  • 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 la hora UTC.
  • Hay varias funciones disponibles para convertir además una estructura tm en una cadena legible por humanos, listo para la salida al usuario.
  • Estar al tanto de la época de que el equipo está contando a partir, ya que esto puede afectar el valor de salida. La mayoría de los ordenadores cuentan del 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 de menos de un segundo, tendrá que utilizar un método diferente,