Formater une date
Instruction : |
strftime() |
Type | fonction |
Domaine d'application | Date |
Syntaxe | strftime("Format",
"DateEnSecondes") ; strftime($VariableChaine, $VariableDate) ; |
Renvoie une chaîne de caractères représentant
la date selon le format spécifié dans la chaîne "Format"
en fonction de la date donnée dans "DateEnSecondes",
exprimée en nombre de secondes depuis le temps 0 de l'ère
UNIX, c'est à dire le premier janvier 1970 (epoch). Si le paramètre
de date est omis, c'est la date du jour qui est prise en compte. L'inconvénient, c'est que le fonctionnement de cette fonction dépend du fait que PHP ait été compilé ou non avec une bibliothèque C supportant ces formats. En général, sous UNIX, tout fonctionne bien, mais il peut y avoir des dysfonctionnements sous Windows. |
Voici, appliqué à la date de dernière modification
de cette page, le résultat donné par les diffrents types
de formats disponibles. La date de dernière modification de cette
page, exprimée en secondes depuis l'ère 0 de UNIX (epoch,
le premier janvier 1970) est : Vous pouvez la voir en clair tout en haut de cette page, comme sur
toutes les pages de mon site. |
|
|||
Formats pour les jours | |||
|
strftime("%A", $DateDerMaj) ; | Jour en toutes lettres dans la langue locale du serveur |
Thursday |
|
strftime("%a", $DateDerMaj) ; | Trois premières lettres du jour dans la langue locale du serveur |
Thu |
|
strftime("%d", $DateDerMaj) ; | Le jour du mois sur deux chiffres |
08 |
|
strftime("%e", $DateDerMaj) ; | Le jour du mois sur un ou deux chiffres selon le jour (ne fonctionne pas sous windows) | 8 |
|
strftime("%j", $DateDerMaj) ; | Le numéro du jour dans l'année, 1 représentant le 1er janvier, représenté sur 3 chiffres | 190 |
|
strftime("%u", $DateDerMaj) ; | Le jour de la semaine en commençant par 1 pour lundi et en terminant par 7 pour dimanche (ne fonctionne pas sous windows) | 4 |
|
strftime("%w", $DateDerMaj) ; | Le jour de la semaine en commençant par 0 pour dimanche et 6 pour samedi. | 4 |
strftime("%l", $DateDerMaj) ; | C'est un "L" minuscule, pas un i majuscule.Devrait donner le jour du mois en toutes lettres en anglais, mais... | 5 | |
Formats pour les mois | |||
|
strftime("%B", $DateDerMaj) ; | Le mois en toutes letres dans la langue locale du serveur | July |
strftime("%b", $DateDerMaj) ; | Les trois premières lettres du mois dans la langue locale du serveur. | Jul | |
strftime("%h", $DateDerMaj) ; | Même chose que "b", mais ne fonctionne pas sous windows. | Jul | |
strftime("%m", $DateDerMaj) ; | Retourne le numéro du mois sur deux chiffres. | 07 | |
Formats pour les années | |||
strftime("%y", $DateDerMaj) ; | Donne l'année représentée sur deux chiffres | 04 | |
strftime("%Y", $DateDerMaj) ; | Retourne l'année sur quatre chiffres. | 2004 | |
Formats pour les heures | |||
strftime("%H", $DateDerMaj) ; | Donne l'heure au format 24 heures, représentée sur deux chiffres | 17 | |
strftime("%I", $DateDerMaj) ; | Retourne l'heure au format 12 heures représenté sur deux chiffres | 05 | |
strftime("%p", $DateDerMaj) ; | Retourne AM ou PM selon matin ou après-midi | PM | |
strftime("%Z", $DateDerMaj) ; | Donne le fuseau horaire. | CEST | |
Formats pour les minutes | |||
strftime("%M", $DateDerMaj) ; | Retourne le nombre de minutes exprimé sur deux chiffres | 39 | |
Formats pour les secondes | |||
strftime("%S", $DateDerMaj) ; | Retourne le nombre de secondes représenté sur deux chiffres. | 12 | |
Formats pour les semaines | |||
strftime("%U", $DateDerMaj) ; | Retourne le numéro de la semaine dans l'année représenté sur deux chiffres, en considérant que la première semaine de l'année est celle du premier dimanche. En 2004, on a un décalage d'une semaine en moins par rapport au calendrier officiel. | 27 | |
strftime("%V", $DateDerMaj) ; | Numéro de la semaine ISO 8601:1988 représenté sur deux chiffres, mais ne fonctionne pas sous windows. | 28 | |
strftime("%W", $DateDerMaj) ; | Retourne le numéro de la semaine dans l'année représenté sur deux chiffres, en considérant que la première semaine de l'année est celle du premier lundi. En 2004, on a un décalage d'une semaine en moins par rapport au calendrier officiel. | 27 | |
Formats pour les siècles (mais oui...) | |||
strftime("%C", $DateDerMaj) ; | Retourne le numéro du siècle représenté sur deux chiffres. Ne fonctionne pas sous windows et donne 20 en 2004 sous Free ! (sic!). | 20 | |
Formats pour les dates elles mêmes | |||
strftime("%D", $DateDerMaj) ; | Donne la date comme si elle était formatée %m/ %d /%y mais ne fonctionne pas sous windows. | 07/08/04 | |
strftime("%r", $DateDerMaj) ; | Donne la date comme si elle était formatée %I: %M: %S %p mais ne fonctionne pas sous windows. | 05:39:12 PM | |
strftime("%R", $DateDerMaj) ; | Retourne l'heure comme si elle était formatée %H:%M. Mais ne fonctionne pas sous windows. | 17:39 | |
strftime("%T", $DateDerMaj) ; | Retourne l'heure comme si elle était formatée %H:%M:%S. Mais ne fonctionne pas sous windows. | 17:39:12 | |
strftime("%c", $DateDerMaj) ; | Retourne la date affichée d'une manière traditionnelle dans la langue locale du serveur. Par exemple, JJ/MM/AA hh:mm:ss si c'était français. | Thu Jul 8 17:39:12 2004 | |
strftime("%x", $DateDerMaj) ; | Retourne la date affichée d'une manière traditionnelle dans la langue locale du serveur. Par exemple, JJ/MM/AA si c'était français (comme %c, mais sans donner l'heure). | 07/08/04 | |
strftime("%X", $DateDerMaj) ; | Retourne l'heure affichée dans le format traditionnel de la langue locale du serveur. En france, hh:mm:ss. | 17:39:12 |
On peut bien entendu, combiner tous ces formats les uns avec les autres
dans la fonction en passant cette combinaison de formats comme argument
dans la chaîne "Format". Par exemple, pour écrtire la date sous la forme jj / mm / aaaa, on n'a qu'à écrire les instructions suiantes en mettant des espaces entre les "/" : $FormatSortie = "%d / %m / %Y" ; Ce qui donne : 08 / 07 / 2004 |
Ce cours est enseigné par Philippe
Médan
dans le cadre de la formation des professionnels de l'INTERNET.
au CREFAC
, 14 rue Scandicci, 93000 Pantin. Tél. : 01 48 46 51 99
au GITA-GRETA , Lycée
Technologique Diderot 61, rue David D'Angers 75019 Paris Tél. : 01
40 40 36 27
au CESI à l'Ecole
des ingénieurs, 116 Av Aristide Briand, BP 57, 92224 Bagneux CEDEX
Tél. : 01 45 36 70 00
© Philippe Médan 1999-2003. Tous droits de reproduction réservés pour tous pays.