TIME |
Temps |
---|---|
Langage C++ | ctime (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.
Remarques
- La fonction time() renvoie l'heure actuelle du système. Si le système n'a pas de temps, -1 est renvoyé.
- La fonction time() peut être appelée soit avec un pointeur null, soit avec un pointeur sur une variable de type time_t. Si cette dernière est utilisée, la variable se verra également attribuer l'heure du calendrier.
- Type de retour : La fonction time renvoie un type time_t, étant généralement un entier long représentant le nombre de secondes écoulées. Le type exact de time_t peut varier selon l'implémentation et le système, mais il est souvent une représentation entière. La valeur renvoyée par time peut être utilisée pour calculer des intervalles de temps ou pour effectuer des opérations basées sur le temps.
- Utilisation pratique : La fonction time est souvent utilisée dans les applications nécessitant de suivre ou de calculer des délais, tels que la mesure des performances, la gestion des horaires et la création d'horodatages pour les événements. Elle est particulièrement utile pour la journalisation, où il est essentiel d'enregistrer des événements avec un horodatage précis.
- Conversion en temps lisible : Pour convertir la valeur renvoyée par time en une représentation de date et d'heure plus lisible, on peut utiliser la fonction localtime ou gmtime. Ces fonctions transforment un time_t en une structure tm contenant des informations détaillées sur l'heure et la date. Exemple d'utilisation :
- Zone horaire et heure locale : La fonction time renvoie toujours le temps en secondes écoulées depuis l'époque Unix, mais son interprétation peut varier selon la zone horaire du système sur lequel elle s'exécute. L'utilisation de localtime permet d'obtenir l'heure locale, tandis que gmtime renvoie l'heure en temps universel coordonné (UTC), ce qui est crucial pour les applications sensibles aux fuseaux horaires.
- Limites de time_t : La représentation de time_t peut entraîner des limitations, en particulier lors de la gestion de dates très éloignées dans le passé ou le futur. Par exemple, sur certains systèmes, la plage de time_t peut être limitée à des valeurs négatives ou à des valeurs très élevées, ce qui pourrait entraîner des débordements. C'est pourquoi il est important de tenir compte de la portée de time_t lors de la conception d'applications qui nécessitent un suivi temporel.
- Performance : L'appel à la fonction time est généralement rapide, mais dans des applications nécessitant des mises à jour fréquentes, il peut être judicieux d'entreposer le temps actuel dans une variable et de le mettre à jour périodiquement, plutôt que d'appeler time à chaque itération. Cela peut aider à réduire la surcharge associée aux appels système fréquents, en particulier dans des boucles de traitement intensif.
- Utilisation avec d'autres fonctions : La fonction time est souvent utilisée en conjonction avec d'autres fonctions du temps, comme difftime, permettant de calculer la différence entre deux valeurs de type time_t, ou strftime, formatant les données temporelles pour les rendre plus lisibles.
- Ces fonctionnalités combinées permettent de gérer efficacement le temps et les dates dans des applications complexes, offrant des capacités de gestion du temps robustes.
Exemple
Cet exemple permet de retourner le nombre de secondes depuis ler janvier 1970 :

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 - 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.
Dernière mise à jour : Lundi, le 3 août 2015