Fonction dift temps dans le langage C

Fonction dift temps dans le langage C
Fonctions définies dans le «temps.L'en-tête h ”est utilisé pour déterminer, calculer et convertir les temps UNIX. L'unité de temps de ce système est la deuxième. Pour obtenir les données de date, une conversion doit être effectuée.

Dans ce Indice de linux Article, nous vous montrerons comment utiliser la fonction difftime () pour déterminer la différence entre deux fois UNIX. Nous discuterons de la syntaxe de cette fonction, des arguments d'entrée et de sortie et les types de données utilisés dans chaque cas. Ensuite, nous appliquons la fonction avec quelques exemples pratiques, y compris les extraits de code dans les images.

Fonction difftime ()

Difftime () Syntaxe de la fonction dans le langage C

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

Description de la fonction difftime () dans le langage C

Le difftime () La fonction calcule la différence de temps en secondes entre T_1 et T_2 et renvoie le résultat en difficulté.

Le type de variable Time_T fait partie de la bibliothèque «Time» et est défini dans son en-tête. Time_t, Clock_T et TM sont typedef qui est utilisé par les fonctions de cette bibliothèque pour retourner leurs résultats.

Le difftime () La fonction est généralement utilisée pour calculer la différence entre un temps donné et le temps unix actuel. Ensuite, nous utilisons les mathématiques de division pour trouver la différence de jours, d'heures, de minutes, etc.

Le difftime () est défini dans le «temps.en-tête h ”. Avant cette fonction, nous devons l'inclure dans notre «.c "ou".Fichier h ”comme suit:

#inclure

Une fois que nous incluons le «temps.En-tête h ”, nous pouvons utiliser le difftime (), Time (), et toutes les fonctions qui sont définies dans «Time.h ”.

Comment calculer la différence de temps entre deux horodatages en utilisant la fonction difftime () dans le langage C

Dans cet exemple, nous calculons le nombre de secondes qui se sont écoulées depuis le 1er janvier 2000 à 00:00:00 jusqu'à ce que ce code soit exécuté sur votre ordinateur.

La première étape consiste à inclure les bibliothèques que nous utilisons et définissons le t_1 et t_2 Variables du type Time_T et double difficulté Comme indiqué dans ce qui suit:

#inclure
#inclure
vide main ()

double t_diff;
time_t t_1, t_2;
//…

Unix Time est les secondes écoulées depuis 00:00:00 UTC le 1er janvier 1970. Pour la date et l'heure qui est le 1er janvier 2000 à 00:00:00, ce compteur est à 946 695.600 secondes. C'est la valeur du t_2 variable.

Le temps UNIX actuel est déterminé à l'aide de la fonction Time (). Cette fonction renvoie l'heure actuelle dans une variable de type Time_T. Dans ce cas, c'est t_1 que nous avons défini précédemment.

Dans le fragment suivant, nous attribuons le temps UNIX correspondant au 1er janvier 2000 à l'heure 00:00:00 à T_1. Nous obtenons le temps Unix actuel dans T_2 en utilisant la fonction Time () et affichons le résultat dans la console de commande à l'aide de la fonction printf ().

#inclure
#inclure
vide main ()

Time_t t_1, t_2 = 946695600;
t_1 = time (null);
printf ("Le temps unix est:% ld \ n", t_1);

L'image suivante montre l'exécution de ce fragment et le nombre de secondes Unix à t_1:

Après avoir obtenu l'heure actuelle dans le t_2 variable, nous avons déjà les deux données dont nous avons besoin pour les arguments d'entrée du difftime () fonction.

L'étape suivante consiste à trouver le décalage horaire entre ces deux données. Pour ce faire, nous appelons le difftime () fonction avec t_1 et T_2 comme arguments d'entrée et double difF Comme l'argument de sortie.

L'extrait suivant montre le code complet qui appelle cette fonction et affiche la différence entre t_1 et t_2 Dans la console de commande:

#inclure
#inclure
vide main ()

Doublediff;
Time_t t_1, t_2 = 946695600;
t_1 = time (null);
diff = difftime (t_1, t_2);
printf ("La différence en secondes est:% li \ n", (long int) diff);

L'image suivante montre la sortie de diffime (), la différence de secondes entre 00:00:00 UTC le 1er janvier 1970 et le moment où ce code est exécuté sur la ligne de commande:

Comment convertir les secondes Unix au format DateTime dans la langue C

La fonction ctime () accepte les variables de Time_t Type dans ses arguments d'entrée et renvoie une chaîne avec le temps Unix qui est converti au format DateTime.

Ensuite, nous utilisons le code de l'exemple précédent et les fonctions ctime () et printf () pour afficher les temps de t_1 et t_2 qui sont convertis en datetime.

#inclure
#inclure
vide main ()

Doublediff;
Time_t t_1, t_2 = 946695600;
t_1 = time (null);
diff = difftime (t_1, t_2);
printf ("La différence entre le% s", ctime (& t_2));
printf ("et% s", ctime (& t_1));
printf ("est secondes% s \ n", (long int) diff);

L'image suivante montre le format de date et d'heure à t_1 et t_2:

Conclusion

Dans ce Indice de linux Article, nous avons expliqué le processus étape par étape sur la façon d'utiliser difftime () pour trouver la différence entre deux fois Unix. Nous avons également brièvement expliqué certaines des fonctions supplémentaires de la bibliothèque «Time» qui sont nécessaires pour obtenir ces données et la convertir au format à ce jour et à l'heure. Nous espérons que vous avez trouvé cet article utile. Pour plus de conseils sur la langue C, utilisez le moteur de recherche sur notre site Web.