Función de diferentes tiempos en lenguaje C

Función de diferentes tiempos en lenguaje C
Funciones definidas en el "tiempo.El encabezado H ”se usa para determinar, calcular y convertir los tiempos UNIX. La unidad de tiempo en este sistema es la segunda. Para obtener los datos de la fecha, se debe hacer una conversión.

En esto Pista de Linux Artículo, le mostraremos cómo usar la función Difftime () para determinar la diferencia entre dos tiempos UNIX. Discutiremos la sintaxis de esta función, los argumentos de entrada y salida, y los tipos de datos utilizados en cada caso. Luego, aplicamos la función con algunos ejemplos prácticos que incluyen fragmentos de código en las imágenes.

Función de difftime ()

Sintaxis de función difftime () en lenguaje C

doble dif = difftime (time_t t_2, time_t t_1);

Descripción de la función Difftime () en el lenguaje C

El difftime () La función calcula la diferencia de tiempo en segundos entre T_1 y T_2 y devuelve el resultado en diferencia.

El tipo de variable Time_T es parte de la biblioteca "Time" y se define en su encabezado. Ambos Time_T, Clock_T y TM son typeedef que utiliza las funciones en esta biblioteca para devolver sus resultados.

El difftime () La función se usa típicamente para calcular la diferencia entre un tiempo determinado y el tiempo UNIX actual. Luego, usamos las matemáticas de división para encontrar la diferencia de días, horas, actas, etc.

El difftime () se define en el "tiempo.encabezado. Antes de esta función, debemos incluirlo en nuestro ".C "o".archivo h "de la siguiente manera:

#incluir

Una vez que incluimos el "tiempo.H "encabezado, podemos usar el difftime (), tiempo (), y todas las funciones que se definen en "Tiempo.H ".

Cómo calcular la diferencia de tiempo entre dos marcas de tiempo utilizando la función Difftime () en el lenguaje C

En este ejemplo, calculamos el número de segundos que transcurrieron desde el 1 de enero de 2000 a las 00:00:00 hasta que este código se ejecute en su computadora.

El primer paso es incluir las bibliotecas que usamos y definir el T_1 y T_2 Variables de TIME_T TIPO Y DOBLE diferencia Como se muestra en lo siguiente:

#incluir
#incluir
vacío principal()

doble t_diff;
Time_t t_1, t_2;
// ..

El tiempo de Unix es los segundos transcurridos desde 00:00:00 UTC el 1 de enero de 1970. Para la fecha y hora que es el 1 de enero de 2000 a las 00:00:00, este mostrador está en 946,695.600 segundos. Este es el valor del T_2 variable.

El tiempo UNIX actual se determina usando la función Time (). Esta función devuelve la hora actual en una variable de tipo TIME_T. En este caso lo es T_1 que definimos anteriormente.

En el siguiente fragmento, asignamos el tiempo de UNIX correspondiente al 1 de enero de 2000 al momento 00:00:00 a T_1. Obtenemos el tiempo UNIX actual en T_2 usando la función Time () y mostramos el resultado en la consola de comando usando la función printf ().

#incluir
#incluir
vacío principal()

Time_t t_1, t_2 = 946695600;
T_1 = TIME (NULL);
printf ("El tiempo UNIX es: %ld \ n", t_1);

La siguiente imagen muestra la ejecución de este fragmento y el número de segundos de Unix en T_1:

Después de obtener la hora actual en el T_2 variable, ya tenemos los dos datos que necesitamos para los argumentos de entrada del difftime () función.

El siguiente paso es encontrar la diferencia de tiempo entre estos dos datos. Para hacer esto, llamamos al difftime () función con T_1 y T_2 como argumentos de entrada y doble difundirF Como argumento de salida.

El siguiente fragmento muestra el código completo que llama a esta función y muestra la diferencia entre T_1 y T_2 En la consola de comando:

#incluir
#incluir
vacío principal()

Doublediff;
Time_t t_1, t_2 = 946695600;
T_1 = TIME (NULL);
diff = difftime (t_1, t_2);
printf ("La diferencia en segundos es: %li \ n", (larga int) diff);

La siguiente imagen muestra la salida de Difftime (), la diferencia de segundos entre 00:00:00 UTC el 1 de enero de 1970 y el momento en que este código se ejecuta en la línea de comandos:

Cómo convertir los segundos UNIX en formato de fecha y hora en el idioma C

La función ctime () acepta las variables de Time_T Type en sus argumentos de entrada y devuelve una cadena con el tiempo UNIX que se convierte en formato de fecha y hora.

A continuación, usamos el código del ejemplo anterior y las funciones ctime () e printf () para mostrar los tiempos de T_1 y T_2 que se convierten a fecha y hora.

#incluir
#incluir
vacío principal()

Doublediff;
Time_t t_1, t_2 = 946695600;
T_1 = TIME (NULL);
diff = difftime (t_1, t_2);
printf ("la diferencia entre el %s", ctime (& t_2));
printf ("y %s", ctime (& t_1));
printf ("es segundos %s \ n", (largo int) diff);

La siguiente imagen muestra el formato de fecha y hora en T_1 y T_2:

Conclusión

En esto Pista de Linux Artículo, explicamos el proceso paso a paso sobre cómo usar difftime () Para encontrar la diferencia entre dos tiempos unix. También explicamos brevemente algunas de las funciones adicionales de la biblioteca de "tiempo" que se necesitan para obtener estos datos y convertirlos hasta la fecha y el formato de tiempo. Esperamos que hayas encontrado este artículo útil. Para obtener más consejos sobre el idioma C, use el motor de búsqueda en nuestro sitio web.