Syntaxe
int gettimeofday (struct timeval * tp, struct horonozone * tz)Le getTimeOfday () La fonction est définie dans sys / temps.H En tête de fichier.
Arguments
Cette fonction prend deux arguments:
Le 1St L'argument pointe vers le compteur temporel structure. Le compteur temporel la structure est déclarée comme ci-dessous dans sys / temps.H En tête de fichier :
struct timevalLa structure Struct TimeVal représente un temps de calendrier. Il a deux membres:
Les deuxnd L'argument pointe vers le fuseau horaire structure. Il doit normalement être défini sur null car fuseau horaire de structure est obsolète. Cet argument concerne la compatibilité en arrière uniquement.
Valeurs de retour
Sur le succès, le getTimeOfday () retour 0, pour l'échec la fonction renvoie -1.
Simple Get Time and Imprimer
#inclureSortir:
Ici, sys / temps.H a été inclus pour getTimeOfday () fonction et structure temporelle. Le getTimeOfday () fonction définit le membre de la structure TimeVal (current_time). TV_SEC est le nombre intégral de secondes écoulées depuis le début du Unix Epoch, sur Midnight UTC le 1er janvier 1970 et TV_USEC est un nombre supplémentaire de microsecondes écoulées à partir de TV_SEC. Si vous exécutez le programme, vous devriez voir la sortie. Chaque fois que vous exécutez le programme, la sortie changera.
Erreur d'argument nul
#inclureSortir:
Dans cet exemple montre que le premier argument du getTimeOfday () La fonction ne doit pas être nul. Un avertissement de compilation viendra si le premier argument est nul.
Formatage Exemple d'heure actuelle
#inclureSortir:
Dans cet exemple, montre comment imprimer la date et l'heure dans un format différent. Il n'est pas très facile de représenter les dates de la valeur de retour de getTimeOfday () fonction . Ici, heure locale() et strftime () Les fonctions sont utilisées pour représenter bien la valeur de retour de getTimeOfday ().
Le heure locale() La fonction prend un argument, qui est une référence à un pointeur du tv_sec domaine de struct timeval et renvoie une référence à un pointeur d'un struct tm objet.
Le strftime () La fonction générera une chaîne formatée personnalisée montrant la date et l'heure struct tm aiguille. Les spécificateurs de format sont utilisés pour l'affichage formaté. Par exemple, la chaîne de format «% d-% m-% y% h:% m:% s» spécifie la date et l'heure de cette forme:
14-04-2020 13:09:42Voici les spécificateurs de conversion, peuvent être utilisés pour l'affichage formaté:
Spécificateur | Signification |
%un | Le nom abrégé de la semaine selon le lieu actuel. |
%UN | Le nom de la semaine selon les paramètres régionaux actuels. |
% b | Nom du mois abrégé selon le lieu actuel. |
% B | Nom du mois complet selon les paramètres locaux actuels. |
% c | La représentation préférée de la date et de l'heure pour les paramètres locaux actuels. |
%d | Comme un numéro décimal pour le jour du mois (plage 01 - 31). |
% H | Utilisation de 24 heures (plage 00 - 23) à l'heure comme numéro décimal. |
%JE | Utilisation de 12 heures (plage 00 - 23) à l'heure comme numéro décimal. |
% J | Comme un numéro décimal pour le jour de l'année (plage 001-366). |
% m | Comme un numéro décimal pour le mois (plage 01 - 12). |
% M | Le nombre décimal de la minute. |
% p | Sur la base de la valeur temporelle spécifiée, «AM» ou «PM» ou les chaînes équivalentes pour le lieu actuel. |
% S | Le nombre décimal de la seconde. |
%X | Représentation préférée de la date pour les paramètres régionaux actuels, mais sans temps. |
%X | Représentation préférée du temps pour les paramètres régionaux actuels, mais sans date. |
% y | L'année est décimale mais pas de siècle (varie de 00 à 99). |
% Y | L'année est décimale, y compris le siècle. |
% Z | Le fuseau horaire. |
Utilisation de GetTimeOfday afin de mesurer le temps d'exécution du programme
#inclureSortir:
Cet exemple montre comment getTimeOfday () La fonction peut être utilisée pour le calcul du temps d'exécution d'un programme.
Conclusion
De cette façon, le getTimeOfday () La fonction peut être utilisée dans Linux. Pour le portage du code existant, le getTimeOfday () La fonction peut être utilisée mais dans le nouveau code, il ne doit pas être utilisé. Clock_gettime () La fonction peut être utilisée au lieu de getTimeOfday ().