TIME |
Temps |
---|---|
Langage C | time.h |
Syntaxe
time_t time(time_t *ptrheure) |
Paramètres
Nom | Description |
---|---|
ptrheure | Ce paramètre permet d'indiquer la structure de temps |
Description
Cette fonction permet d'effectuer le calcul de l'heure courante en secondes.
Algorithme
MODULE time(t) SI t n'est pas NULL ALORS obtenir l'heure actuelle en secondes depuis l'époque Entreposer cette valeur dans la variable pointée par t SINON Obtenir l'heure actuelle en secondes depuis l'époque et retourner cette valeur FIN SI |
Remarques
- Définition et utilité : La fonction time fait partie de la bibliothèque standard <time.h> et est utilisée pour obtenir le temps écoulé en secondes depuis l'époque Unix (le 1er janvier 1970, 00:00:00 UTC). Son prototype est time_t time(time_t *tloc). Elle renvoie le temps sous forme de type time_t, étant généralement un entier ou un type défini par la plateforme.
- Gestion des paramètres : Si le paramètre tloc est non nul, la fonction entrepose également la valeur du temps dans l'emplacement mémoire pointé par tloc. Si le paramètre est NULL, la fonction ne fait que retourner la valeur. Cela permet une utilisation flexible : vous pouvez soit récupérer directement la valeur retournée, soit la sauvegarder dans une variable via un pointeur.
- Type de retour : Le type time_t est défini par la norme C et est utilisé pour représenter des valeurs de temps. Bien que souvent implémenté comme un entier, il peut être un autre type en fonction de la plateforme. Pour garantir la portabilité, il est conseillé de ne pas faire d'hypothèses sur sa taille ou sa représentation exacte.
- Conversion en format lisible : La valeur brute renvoyée par time peut être transformée en un format plus lisible à l'aide de fonctions comme ctime, localtime, ou gmtime. Par exemple, ctime convertit un time_t en une chaîne de caractères représentant une date et une heure facilement compréhensible.
- Applications courantes : La fonction time est fréquemment utilisée pour enregistrer des horodatages, mesurer des durées (en combinant avec d'autres fonctions comme difftime), ou comme base pour générer des nombres pseudo-aléatoires (en tant que graine pour srand).
- Dépendance à l'époch Unix : La fonction repose sur l'époch Unix, ce qui signifie qu'elle est limitée à des plages de temps basées sur cette référence. Cela peut poser des problèmes pour les systèmes nécessitant des temps bien antérieurs ou bien postérieurs à cette époque (par exemple, le problème de l'an 2038 sur les systèmes 32 bits où time_t est un entier signé).
- Synchronisation avec le système : La valeur retournée par time dépend de l'horloge système. Si celle-ci est incorrecte ou mal synchronisée, la valeur de temps obtenue sera également incorrecte. Cela peut être problématique dans des applications critiques où la précision du temps est essentielle.
- Comportement sur les erreurs : En cas d'erreur (par exemple, si le système ne peut pas obtenir l'heure), la fonction retourne -1 (ou une valeur spéciale définie selon l'implémentation). Il est donc important de vérifier la valeur retournée pour s'assurer qu'elle est valide avant de l'utiliser dans des calculs ou des conversions.
Exemple
Cet exemple permet de retourner le nombre de secondes depuis ler janvier 1970 :
Essayer maintenant !
Voir également
Langage de programmation - C - Référence procédures et fonctions - asctime
Langage de programmation - C - Référence procédures et fonctions - gmtime
Langage de programmation - C - Référence procédures et fonctions - localtime
Langage de programmation - C pour Linux - Référence procédures et fonctions - time
Langage de programmation - C++ - Référence procédures et fonctions - time
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 735.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 280.