DateTime
PHP Manual

DateTime::__construct

date_create

(PHP 5 >= 5.2.0)

DateTime::__construct -- date_createDevuelve un nuevo objeto DateTime

Descripción

Estilo orientado a objetos

public DateTime::__construct() ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Estilo por procedimientos

DateTime date_create ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Devuelve un nuevo objeto DateTime.

Parámetros

time

Una cadena de fecha/hora. Los formatos válidos son explicados en Formatos de fecha y hora.

Introduzca NULL aquí para obtener el instante actual cuando se use el parámetro $timezone.

timezone

Un objeto DateTimeZone que representa la zona horaria de $time.

Si se omite $timezone, se usará la zona horaria actual.

Nota:

El parámetro $timezone y la zona horaria actuales se ignoran cuando el parámetro $time es una fecha UNIX (p.ej. @946684800) o especifica una zona horaria (p.ej. 2010-01-28T15:00:00+02:00).

Valores devueltos

Devuelve una nueva instancia de DateTime. Estilo por procedimientos devuelve FALSE en caso de error.

Errores/Excepciones

Emite una Exception en caso de error.

Historial de cambios

Versión Descripción
5.3.0 Si se especifica una fecha no válida, ahora se lanza una excepción. Anteriormente se emitía un error.

Ejemplos

Ejemplo #1 Ejemplo de DateTime::__construct()

Estilo orientado a objetos

<?php
try {
    
$fecha = new DateTime('2000-01-01');
} catch (
Exception $e) {
    echo 
$e->getMessage();
    exit(
1);
}

echo 
$fecha->format('Y-m-d');
?>

Estilo por procedimientos

<?php
$fecha 
date_create('2000-01-01');
if (!
$fecha) {
    
$e date_get_last_errors();
    foreach (
$e['errors'] as $error) {
        echo 
"$error\n";
    }
    exit(
1);
}

echo 
date_format($fecha'Y-m-d');
?>

El resultado de los ejemplos serían:

2000-01-01

Ejemplo #2 Complejidades de DateTime::__construct()

<?php
// Fecha/hora especificadas en la zona horaria de su ordenador.
$fecha = new DateTime('2000-01-01');
echo 
$fecha->format('Y-m-d H:i:sP') . "\n";

// Fecha/hora especificadas en la zona horaria especificada.
$fecha = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo 
$fecha->format('Y-m-d H:i:sP') . "\n";

// Fecha/hora actuales en la zona horaria de su ordenador.
$fecha = new DateTime();
echo 
$fecha->format('Y-m-d H:i:sP') . "\n";

// Fecha/hora actuales en la zona horaria especificada.
$fecha = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo 
$fecha->format('Y-m-d H:i:sP') . "\n";

// Usar una fecha UNIX. Observe que el resultado está en la zona horaria UTC.
$fecha = new DateTime('@946684800');
echo 
$fecha->format('Y-m-d H:i:sP') . "\n";

// Desbordamiento de valores no existentes.
$fecha = new DateTime('2000-02-30');
echo 
$fecha->format('Y-m-d H:i:sP') . "\n";
?>

El resultado del ejemplo sería algo similar a:

2000-01-01 00:00:00-05:00
2000-01-01 00:00:00+12:00
2010-04-24 10:24:16-04:00
2010-04-25 02:24:16+12:00
2000-01-01 00:00:00+00:00
2000-03-01 00:00:00-05:00

Ver también


DateTime
PHP Manual