you can also do:
<?php date("Y-m-d", strtotime("2011-W17 Saturday")) . "\n"; ?>
Formats de dates
| 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\t1978" |
| Jour, mois et année sur deux chiffres, avec des points ou des tabulations | dd [.\t] mm "." yy | "30.6.08", "22\t12\t78" |
| 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 sur huit chiffres, mois et jour | 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 sont ajoutés. Si l'année est comprise entre 70 (inclusif) et 99 (inclusif) alors 1900 sont ajoutés. 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).
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).
Within the formats listed under localized notations, all of the periods within brackets should be escaped as they match actual periods and not the regex "any character".
There's a very big difference between [.\t] and [\.\t].
the "yeer-week-weekday" format also works, at least whit strtotime().
exemple Saturday the 17 week in 2011:
<?php echo date("Y-m-d", strtotime("2011-W17-6")) . "\n"; ?>
