Formatos de Fecha y Hora soportados
PHP Manual

Formatos de Fecha

Esta página describe los diferentes formatos de fecha que entieden los analizadores de strtotime(), DateTime y date_create().

Símbolos Usados
Descripción Formato Ejemplos
sufijos de día (en inglés) "st" | "nd" | "rd" | "th"  
dd ([0-2]?[0-9] | "3"[01]) sufijos de día? "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"
Notaciones Localizadas
Descripción Formato Ejemplos
Mes y día americanos mm "/" dd "5/12", "10/27"
Mes, día y año americanos mm "/" dd "/" y "12/22/78", "1/17/2006", "1/17/6"
Año de cuatro dígitos, mes y día con baras YY "/" mm "/" dd "2008/6/30", "1978/12/22"
Año de cuatro dígitos y mes (GNU) YY "-" mm "2008-6", "2008-06", "1978-12"
Año, mes y día con guiones y "-" mm "-" dd "2008-6-30", "78-12-22", "8-6-21"
Día, mes y año de cuatro dígitos, con puntos, tabulaciones o guiones dd [.\t-] mm [.-] YY "30-6-2008", "22.12\t1978"
Día, mes y año de dos dígitos, con puntos o tabulaciones dd [.\t] mm "." yy "30.6.08", "22\t12\t78"
Día, mes textual y año dd ([ \t.-])* m ([ \t.-])* y "30-June 2008", "22DEC78", "14 III 1879"
Mes textual y año de cuatro dígitos (Día se restablece a 1) m ([ \t.-])* YY "June 2008", "DEC1978", "March 1879"
Año de cuatro dígitos y mes textual (Día se restablece a 1) YY ([ \t.-])* m "2008 June", "1978-XII", "1879.MArCH"
Mes textual, día y año m ([ .\t-])* dd [,.stndrh\t ]+ y "July 1st, 2008", "April 17, 1790", "May.9,78"
Mes textual y día m ([ .\t-])* dd [,.stndrh\t ]* "July 1st,", "Apr 17", "May.9"
Día y mes textual d ([ .\t-])* m "1 July", "17 Apr", "9.May"
Abreviatura de mes, día y año M "-" DD "-" y "May-09-78", "Apr-17-1790"
Año, abreviatura de mes y día y "-" M "-" DD "78-Dec-22", "1814-MAY-17"
Año (y sólo el año) YY "1978", "2008"
Mes textual (y sólo el mes) m "March", "jun", "DEC"
Notaciones ISO8601
Descripción Formato Ejemplos
Año, mes y día, de ocho dígitos YY MM DD "15810726", "19780417", "18140517"
Año de cuatro dígitos, mes y día con barras YY "/" MM "/" DD "2008/06/30", "1978/12/22"
Año de dos dígitos, mes y dís con barras yy "-" MM "-" DD "08-06-30", "78-12-22"
Año de cuatro dígitos con signo opcional, mes y día [+-]? YY "-" MM "-" DD "-0002-07-26", "+1978-04-17", "1814-05-17"

Nota:

Para los formatos y e yy, los años por debajo de 100 son tratados de manera especial cuando se usan los símbolos y o yy. Si el año cae en el rango de 0 (inclusive) a 69 (inclusive), se añade 2000. Si el año cae en el rango de 70 (inclusive) a 99 (inclusive) se añade entonces 1900. Esto significa que "00-01-01" se interpreta como "2000-01-01".

Nota:

El formato "Día, mes y año de dos dígitos, con puntos o tabulaciones" (dd [.\t] mm "." yy) solamente funciona con valores de años de 61 (inclusive) a 99 (inclusive) - fuera de esos años el formato de hora "HH [.:] MM [.:] SS" tiene precedencia.

Nota:

El formato "Año (y sólo el año)" solamente funciona si se encotró ya una cadena de hora -- de otro modo este formato es reconocido como HH MM.

Nota:

Es posible poner en exceso y en defecto los formatos dd y DD. Día 0 significa el último día del mes anterios, mientras en exceso empieza a contar desde el mes siguiente. Esto hace que "2008-08-00" equivalga a "2008-07-31" y "2008-06-31" sea equivalente a "2008-07-01" (junio tiene sólo 30 días).

También es posible poner en defecto los formatos mm y MM con el valor 0. Un valor de mes de 0 significa diciemebre del año anterior. Como ejemplo "2008-00-22" es equivalente a "2007-12-22".

Si se combinan los dos hechos anteriores y se ponen por defecto el día y el mes, sucede lo siguiente: "2008-00-00" primero se convierte a "2007-12-00" que después se convierte a "2007-11-30". Esto también sucede con la cadena "0000-00-00", que se transforma en "-0001-11-30" (el año -1 en el calendario ISO 8601, el cuál es 2 A.C. en el calendario gregoriano "proléptico").


Formatos de Fecha y Hora soportados
PHP Manual