Tecnología

Inicio

Cómo convertir segundos a partir de la época de tiempo en C ++

Cómo convertir segundos a partir de la época de tiempo en C ++


La función "Time" en UNIX, C y C ++ devuelve el número de segundos transcurridos desde la medianoche del primero de Janurary 1970, meridiano de Greenwich. Esto se conoce como tiempo de época. Cuando los programadores sugirieron que esto no siempre fue conveniente, los diseñadores sobrecargados la función de tiempo para que pudiera ser utilizado de dos maneras: para dar tiempo época y para dar tiempo como una cadena de caracteres que representa los años, días, horas, minutos y segundos desde el primero de enero de 1970 GMT. Desde entonces, una biblioteca de funciones ha sido creado que contiene las funciones que convierten esta cadena en algo más útil.

Instrucciones

1 Incluir la biblioteca time.h en su programa con el "# include <time.h>;" instrucción. Definir un par de variables de tipo time_t con la instrucción "time_t tiempo1, el tiempo 2;" para mantener las dos versiones de la cadena de tiempo que se desarrollará durante la conversión. Llame a la función de tiempo de la siguiente manera: "el tiempo (y tiempo1);" para poner la cadena que desea en el tiempo1 variable.

2 Oculta la información de la cadena de tiempo1 en el tiempo local con la función "localtime" que toma la dirección del tiempo1 como parámetro de entrada y devuelve los resultados en el tiempo 2 variables. La declaración es el siguiente: "Time 2 = localtime (y tiempo1);" - time2 ahora contiene la hora local, pero no es del todo en el formato para imprimir.

3 Transformar el tiempo en su forma final, imprimible con la función asctime. Esta transformación puede realizarse inmediatamente en el estado de impresión. La sentencia de impresión se ve así: "printf (" La hora actual es% s ", asctime (tiempo 2));" que imprimir algo como esto: "La hora actual: Vie Sep 23 de 2011. 22:01:47"

Consejos y advertencias

  • El uso previsto para la función de "tiempo" es para medir el tiempo transcurrido. Cuando se utiliza en esta forma original del parámetro de entrada es nulo y se devuelve un valor. La variable que se le asigna el valor devuelto a debe ser de tipo time_t. Así que el código para medir el tiempo que tarda en ejecutar el procedimiento XYZ se vería así: "# include <time.h>; t1 time_t, t2; t1 = tiempo (NULL); XYZ; t2 = tiempo (NULL); printf "El tiempo que se tarda en ejecutar el procedimiento XYZ es% d segundos", t2 - t1); "que imprimir algo así como" El tiempo que tarda en ejecutar el procedimiento XYZ es de 147 segundos ".
  • El time_t tipo y el tiempo de funciones (), localtime () y asctime () son definidos en la biblioteca time.h. Si no se incluye la biblioteca time.h, todos ellos se marcará como no definido.