DateTime
PHP Manual

DateTime::createFromFormat

(PHP 5 >= 5.3.0)

DateTime::createFromFormatDevuelve un nuevo objeto DateTime formateado según el formato especificado

Descripción

Estilo orientado a objetos

public static DateTime DateTime::createFromFormat ( string $format , string $time [, DateTimeZone $timezone ] )

Estilo por procesos

DateTime date_create_from_format ( string $format , string $time [, DateTimeZone $timezone ] )

Devuelve un nuevo objeto DateTime formateado según el formato especificado.

Parámetros

format

Formato aceptado por date().

Si format no contiene el carácter !, las partes del momento generado que no estén especificadas en format serán establecidas al momento actual del sistema.

Si format contiene el carácter !, las partes del momento generadas no proporcionadas en format, así como los valores más a la izquierda de !, serán establecidos a los valores correspondientes de la época Unix.

La época Unix es 1970-01-01 00:00:00 UTC.

time

Una cadena que representa la hora.

timezone

Un objeto DateTimeZone que representa la zona horaria deseada.

Valores devueltos

Devuelve una nueva instancia de DateTime o FALSE en caso de error.

Ejemplos

Example #1 Ejemplo de DateTime::createFromFormat()

Estilo orientado a objetos

<?php
$fecha 
DateTime::createFromFormat('j-M-Y''15-Feb-2009');
echo 
$fecha->format('Y-m-d');
?>

Estilo por procesos

<?php
$fecha 
date_create_from_format('j-M-Y''15-Feb-2009');
echo 
date_format($fecha'Y-m-d');
?>

El resultado de los ejemplos serían:

2009-02-15

Example #2 Complejidades de DateTime::createFromFormat()

<?php
echo 'Momento actual: ' date('Y-m-d H:i:s') . "\n";

$formato 'Y-m-d';
$fecha DateTime::createFromFormat($formato'2009-02-15');
echo 
"Formato: $formato; " $fecha->format('Y-m-d H:i:s') . "\n";

$formato 'Y-m-d H:i:s';
$fecha DateTime::createFromFormat($formato'2009-02-15 15:16:17');
echo 
"Formato: $formato; " $fecha->format('Y-m-d H:i:s') . "\n";

$formato 'Y-m-!d H:i:s';
$fecha DateTime::createFromFormat($formato'2009-02-15 15:16:17');
echo 
"Formato: $formato; " $fecha->format('Y-m-d H:i:s') . "\n";

$formato '!d';
$fecha DateTime::createFromFormat($formato'15');
echo 
"Formato: $formato; " $fecha->format('Y-m-d H:i:s') . "\n";
?>

El resultado del ejemplo sería algo similar a:

Momento actual: 2010-04-23 10:29:35
Formato: Y-m-d; 2009-02-15 10:29:35
Formato: Y-m-d H:i:s; 2009-02-15 15:16:17
Formato: Y-m-!d H:i:s; 1970-01-15 15:16:17
Formato: !d; 1970-01-15 00:00:00

Ver también


DateTime
PHP Manual