-
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,