Formats de dates
Cette page décrit les différents formats de date que les analyseurs des fonctions strtotime(), DateTime et date_create() comprennent.
Description | Format | Exemples |
---|---|---|
suffixe des jours | "st" | "nd" | "rd" | "th" | |
dd | ([0-2]?[0-9] | "3"[01]) daysuf? | "7th", "22nd", "31" |
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "07", "31" |
m | 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december' | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII" | |
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | |
mm | "0"? [0-9] | "1"[0-2] | "0", "04", "7", "12" |
MM | "0" [0-9] | "1"[0-2] | "00", "04", "07", "12" |
y | [0-9]{1,4} | "00", "78", "08", "8", "2008" |
yy | [0-9]{2} | "00", "08", "78" |
YY | [0-9]{4} | "2000", "2008", "1978" |
Description | Format | Exemples |
---|---|---|
Mois américain et jour | mm "/" dd | "5/12", "10/27" |
Mois américain, jour et année | mm "/" dd "/" y | "12/22/78", "1/17/2006", "1/17/6" |
Année sur quatre chiffres, mois et jour avec slashs | YY "/" mm "/" dd | "2008/6/30", "1978/12/22" |
Année sur quatre chiffres et mois (GNU) | YY "-" mm | "2008-6", "2008-06", "1978-12" |
Année, mois et jour avec tirets | y "-" mm "-" dd | "2008-6-30", "78-12-22", "8-6-21" |
Jour, mois et année sur quatre chiffres, avec des points, des tabulations ou des tirets | dd [.\t-] mm [.-] YY | "30-6-2008", "22.12.1978" |
Jour, mois et année sur deux chiffres, avec des points ou des tabulations | dd [.\t] mm "." yy | "30.6.08", "22\t12.78" |
Jour, mois textuel et année | dd ([ \t.-])* m ([ \t.-])* y | "30-June 2008", "22DEC78", "14 III 1879" |
Mois textuel et année sur quatre chiffres (le jour sera le 1) | m ([ \t.-])* YY | "June 2008", "DEC1978", "March 1879" |
Année sur quatre chiffres et mois textuel (le jour sera le 1) | YY ([ \t.-])* m | "2008 June", "1978-XII", "1879.MArCH" |
Mois textuel, jour et année | m ([ .\t-])* dd [,.stndrh\t ]+ y | "July 1st, 2008", "April 17, 1790", "May.9,78" |
Mois textuel et jour | m ([ .\t-])* dd [,.stndrh\t ]* | "July 1st,", "Apr 17", "May.9" |
Jour et mois textuel | d ([ .\t-])* m | "1 July", "17 Apr", "9.May" |
Mois abrégé, jour et année | M "-" DD "-" y | "May-09-78", "Apr-17-1790" |
Année, mois abrégé et jour | y "-" M "-" DD | "78-Dec-22", "1814-MAY-17" |
Année (et juste l'année) | YY | "1978", "2008" |
Mois textuel (et juste le mois) | m | "March", "jun", "DEC" |
Description | Format | Exemples |
---|---|---|
Année, mois et jour sur huit chiffres | YY MM DD | "15810726", "19780417", "18140517" |
Année sur quatre chiffres, mois et jour avec des slashes | YY "/" MM "/" DD | "2008/06/30", "1978/12/22" |
Année sur deux chiffres, mois et jour avec des tirets | yy "-" MM "-" DD | "08-06-30", "78-12-22" |
Année sur quatre chiffres avec un signe optionnel, mois et jour | [+-]? YY "-" MM "-" DD | "-0002-07-26", "+1978-04-17", "1814-05-17" |
Note:
Pour les formats y et yy, les années avant 100 sont considérées d'une manière spéciale lorsque les symboles y ou yy sont utilisés. Si l'année est comprise entre 0 (inclusif) et 69 (inclusif), 2000 sera ajouté. Si l'année est comprise entre 70 (inclusif) et 99 (inclusif) alors 1900 sera ajouté. Cela signifie que "00-01-01" est interprété comme "2000-01-01".
Note:
Le format "Jour, mois et année sur deux chiffres avec tabulations ou points" (dd [.\t] mm "." yy) ne fonctionne que pour des valeurs d'années de 61 (inclusif) à 99 (inclusif) - en dehors de ces bornes, le format du temps "HH [.:] MM [.:] SS" a une precédence plus forte et primera.
Note:
Le format "Année (et juste l'année)" ne fonctionne que si la chaine qui représente le temps a déja été trouvée, sinon le format est reconnu comme HH MM.
Note:
Il est possible d'ajouter ou soustraire une retenue pour les formats dd et DD. Le jour 0 signifie le dernier jour du mois précédent, les retenues positives compteront le mois suivant. Ainsi, "2008-08-00" est équivalent à "2008-07-31" et "2008-06-31" est équivalent à "2008-07-01" (Juin ne possède que 30 jours).
Notez qu'à partir de PHP 5.1.0 la plage de jour est limitée à 0-31 comme indiqué par l'expression régulière ci-dessus. Ainsi, "2008-06-32" n'est pas une chaîne de date valide, par exemple.
Il est aussi possible de jouer avec les retenues des formats mm et MM grâce à la valeur 0. Une valeur de mois de 0 signifie Décembre de l'année précédente. Par exemple "2008-00-22" est équivalent à "2007-12-22".
Si vous combinez les deux notions précédentes et utilisez une retenue négative sur le jour et le mois, alors il se passe ceci : "2008-00-00" est converti d'abord vers "2007-12-00" puis vers "2007-11-30". Ceci arrive aussi avec la chaine "0000-00-00" qui est alors tranformée vers "-0001-11-30" (l'année -1 dans le calendrier ISO 8601, qui est 2 BC dans le calendrier Gregorien).
Version en cache
21/12/2024 09:01:43 Cette version de la page est en cache (à la date du 21/12/2024 09:01:43) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-datetime.formats.date.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.