ASCTIME |
Heure ASCII |
|---|---|
Perl |
POSIX |
Syntaxe
| sub POSIX::asctime($seconde, $minute, $heure, $jourdumois, $mois, $annee, $jourdesemaine, $jourannee, $isdst); |
Paramètres
| Nom | Description | |
|---|---|---|
| $seconde | Ce champ permet d'indiquer les secondes, soit une valeur entre l'intervalle 0 et 61. | |
| $minute | Ce champ permet d'indiquer les minutes, soit une valeur entre l'intervalle 0 et 59. | |
| $heure | Ce champ permet d'indiquer les heures, soit une valeur entre l'intervalle 0 et 23. | |
| $jourdumois | Ce champ permet d'indiquer le jour du mois, soit une valeur entre l'intervalle 1 et 31. | |
| $mois | Ce champ permet d'indiquer le mois de l'année : | |
| Valeur | Description | |
| 0 | Cette valeur permet d'indiquer le mois de Janvier. | |
| 1 | Cette valeur permet d'indiquer le mois de Février. | |
| 2 | Cette valeur permet d'indiquer le mois de Mars. | |
| 3 | Cette valeur permet d'indiquer le mois d'Avril. | |
| 4 | Cette valeur permet d'indiquer le mois de Mai. | |
| 5 | Cette valeur permet d'indiquer le mois de Juin. | |
| 6 | Cette valeur permet d'indiquer le mois de Juillet. | |
| 7 | Cette valeur permet d'indiquer le mois d'Août. | |
| 8 | Cette valeur permet d'indiquer le mois de Septembre. | |
| 9 | Cette valeur permet d'indiquer le mois d'Octobre. | |
| 10 | Cette valeur permet d'indiquer le mois de Novembre. | |
| 11 | Cette valeur permet d'indiquer le mois de Décembre. | |
| $annee | Ce champ permet d'indiquer l'année après 1900. L'année 101 est équivalent à 2001. | |
| $jourdesemaine | Ce champ permet d'indiquer le jour de la semaine : | |
| Valeur | Description | |
| 0 | Cette valeur permet d'indiquer le Dimanche. | |
| 1 | Cette valeur permet d'indiquer le Lundi. | |
| 2 | Cette valeur permet d'indiquer le Mardi. | |
| 3 | Cette valeur permet d'indiquer le Mercredi. | |
| 4 | Cette valeur permet d'indiquer le Jeudi. | |
| 5 | Cette valeur permet d'indiquer le Vendredi. | |
| 6 | Cette valeur permet d'indiquer le Samedi. | |
| $jourannee | Ce champ permet d'indiquer le jour de l'année, soit une valeur entre l'intervalle 0 et 365. | |
| $isdst | Ce champ permet d'indiquer le jour d'été ou avancé. La valeur par défaut est -1. | |
Description
Cette fonction permet de convertir l'heure en chaîne de caractères.
Remarques
- Conversion d'une structure temporelle en chaîne lisible : La fonction POSIX::asctime permet de convertir une date complète (constituée de neuf éléments) en une chaîne de caractères au format lisible, typiquement "Wed Jun 26 20:15:30 2025\n". Elle est utile pour afficher des dates de manière standardisée sans devoir construire manuellement le format.
- Utilise une représentation ASCII traditionnelle : Le format retourné par asctime suit une convention héritée de C et des systèmes Unix, où les dates sont affichées en anglais avec des abréviations fixes : les jours (Sun, Mon, ...) et les mois (Jan, Feb, ...). Il n'est donc pas localisé selon la langue du système ou de l'utilisateur.
- Nécessite neuf paramètres bien formés : asctime attend exactement neuf paramètres, correspondant à la structure tm utilisée en C. Si un seul champ est incorrect ou omis, la fonction peut retourner une chaîne incorrecte ou même provoquer un comportement indéfini. Cela implique une rigueur dans la préparation des valeurs.
- Le mois commence à 0, l'année à 1900 : Comme en langage C, le mois commence à 0 pour janvier, et l'année est comptée à partir de 1900. Par exemple, pour représenter l'année 2025, il faut passer 125. Cela peut entraîner des erreurs si l'on oublie d'ajuster ces décalages, notamment en cas de conversion à partir d'autres formats Perl.
- Non adaptée à l'affichage localisé ou personnalisé : Bien que pratique, asctime n'offre aucune personnalisation du format ou de la langue. Pour un affichage localisé, des alternatives comme strftime ou des modules comme Time::Piece ou DateTime sont recommandés, car ils sont plus flexibles et respectent les paramètres régionaux.
- Retourne toujours une chaîne avec saut de ligne : La chaîne retournée par asctime se termine par un caractère de nouvelle ligne (\n), ce qui peut causer des effets inattendus si elle est insérée dans d'autres chaînes ou fichiers sans être nettoyée. Il est souvent nécessaire de faire un chomp() pour éviter les surprises.
- Utilisée principalement pour le débogage ou les logs rapides : Cette fonction est souvent employée dans des contextes de débogage, journalisation simple, ou impression rapide de dates. Elle est peu utilisée pour le calcul ou la gestion complexe de temps, car elle ne fournit pas d'objet temporel ni de méthodes d'analyse.
- Fonction déterministe sans effet de bord : La fonction asctime est purement déterministe : elle retourne toujours la même chaîne pour les mêmes neuf valeurs d'entrée. Elle ne dépend pas de l'heure système actuelle, ce qui la rend fiable pour des affichages reproductibles dans les scripts automatisés.
Exemple
Voici un exemple permettant d'imprimer le résultat de la date de 5 mai 2006 à 3:02:01 :
on obtiendra le résultat semblable au suivant :
Thu May 04 03:02:01 2006Voir également
Langage de programmation - Fonction C pour Linux - asctime
Dernière mise à jour : Dimanche, le 18 octobre 2015