Cette page décrit les différents formats dans une syntaxe de type BNF que les analyseurs de DateTimeImmutable, DateTime, date_create(), date_create_immutable(), et strtotime() comprennent.
Pour formatter des objets DateTimeImmutable et DateTime, veuillez vous référer à la documentation de la méthode DateTimeInterface::format().
| 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" | 
| YYY | [0-9]{5,19} | "81412", "20192" | 
| Description | Exemples | 
|---|---|
| ATOM | "2022-06-02T16:58:35+00:00" | 
| COOKIE | "Thursday, 02-Jun-2022 16:58:35 UTC" | 
| ISO8601 | "2022-06-02T16:58:35+0000" | 
| » RFC 822 | "Thu, 02 Jun 22 16:58:35 +0000" | 
| » RFC 850 | "Thursday, 02-Jun-22 16:58:35 UTC" | 
| » RFC 1036 | "Thu, 02 Jun 22 16:58:35 +0000" | 
| » RFC 1123 | "Thu, 02 Jun 2022 16:58:35 +0000" | 
| » RFC 2822 | "Thu, 02 Jun 2022 16:58:35 +0000" | 
| » RFC 3339 | "2022-06-02T16:58:35+00:00" | 
| » RFC 3339 Extended | "2022-06-02T16:58:35.698+00:00" | 
| » RFC 7231 | "Thu, 02 Jun 2022 16:58:35 GMT" | 
| RSS | "Thu, 02 Jun 2022 16:58:35 +0000" | 
| W3C | "2022-06-02T16:58:35+00:00" | 
| 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 | dd([ .\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" | 
| Année (développé, 5-19 chiffres avec signe) | [+-] YYY | "-81120", "+20192" | 
| Mois textuel (et juste le mois) | m | "March", "jun", "DEC" | 
| Description | Format | Exemples | 
|---|---|---|
| Année, mois et jour sur huit chiffres | YYMMDD | "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" | 
| Année à cinq chiffres avec le signe, le mois et le jour requis | [+-] YYY"-"MM"-"DD | "-81120-02-26", "+20192-04-17" | 
Note:
Pour les formats
yetyy, les années avant 100 sont considérées d'une manière spéciale lorsque les symbolesyouyysont 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 précé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éjà été trouvée, sinon le format est reconnu comme
HHMM.
    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).
   
Il est à noter que 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 transformée vers "-0001-11-30" (l'année -1 dans le calendrier ISO 8601, qui est 2 BC dans le calendrier Grégorien).