array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'datetime.setdate.php', 1 => 'DateTime::setDate', ), 'up' => array ( 0 => 'class.datetime.php', 1 => 'DateTime', ), 'prev' => array ( 0 => 'datetime.set-state.php', 1 => 'DateTime::__set_state', ), 'next' => array ( 0 => 'datetime.setisodate.php', 1 => 'DateTime::setISODate', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'es', 'path' => 'reference/datetime/datetime/setdate.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTime::setDate -- date_date_set — Establece la fecha
Estilo orientado a objetos
Estilo por procedimientos
Reinicia la fecha actual del objeto DateTime a una fecha diferente.
object
Solamente para el estilo por procedimientos: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.
year
Año de la fecha.
month
Mes de la fecha.
day
Día de la fecha.
Versión | Descripción |
---|---|
5.3.0 | Se ha cambiado el
valor devuelto en caso de éxito de null a DateTime. |
Ejemplo #1 Ejemplo de DateTime::setDate()
Estilo orientado a objetos
<?php
$fecha = new DateTime();
$fecha->setDate(2001, 2, 3);
echo $fecha->format('Y-m-d');
?>
Estilo por procedimientos
<?php
$fecha = date_create();
date_date_set($fecha, 2001, 2, 3);
echo date_format($fecha, 'Y-m-d');
?>
El resultado de los ejemplos sería:
2001-02-03
Ejemplo #2 Los valores que exceden rangos son añadidos a sus valores padre
<?php
$fecha = new DateTime();
$fecha->setDate(2001, 2, 28);
echo $fecha->format('Y-m-d') . "\n";
$fecha->setDate(2001, 2, 29);
echo $fecha->format('Y-m-d') . "\n";
$fecha->setDate(2001, 14, 3);
echo $fecha->format('Y-m-d') . "\n";
?>
El resultado del ejemplo sería:
2001-02-28 2001-03-01 2002-02-03