array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'datetime.modify.php', 1 => 'DateTime::modify', ), 'up' => array ( 0 => 'class.datetime.php', 1 => 'DateTime', ), 'prev' => array ( 0 => 'datetime.getlasterrors.php', 1 => 'DateTime::getLastErrors', ), 'next' => array ( 0 => 'datetime.set-state.php', 1 => 'DateTime::__set_state', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'es', 'path' => 'reference/datetime/datetime/modify.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::modify -- date_modify — Altera la marca temporal
Estilo orientado a objetos
Estilo por procedimientos
Altera la marca temporal de un objeto DateTime aumentando o disminuyendo en un formato aceptado por strtotime().
object
Solamente para el estilo por procedimientos: Un objeto DateTime devuelto por date_create(). La función modifica este objeto.
modify
Una cadena de fecha/hora. Los formatos válidos se explican en Formatos de fecha y hora.
Versión | Descripción |
---|---|
5.3.6 | Las sentencias de fecha/hora absolutas ahora toman efecto. Anteriormente, sólo se utilizaban las partes relativas. |
5.3.0 | Se ha cambiado el
valor devuelto en caso de éxito de null a DateTime. |
Ejemplo #1 Ejemplo de DateTime::modify()
Estilo orientado a objetos
<?php
$fecha = new DateTime('2006-12-12');
$fecha->modify('+1 day');
echo $fecha->format('Y-m-d');
?>
Estilo por procedimientos
<?php
$fecha= date_create('2006-12-12');
date_modify($fecha, '+1 day');
echo date_format($fecha, 'Y-m-d');
?>
El resultado de los ejemplos sería:
2006-12-13
Ejemplo #2 Cuidado al añadir o sustraer meses
<?php
$fecha = new DateTime('2000-12-31');
$fecha->modify('+1 month');
echo $fecha->format('Y-m-d') . "\n";
$fecha->modify('+1 month');
echo $fecha->format('Y-m-d') . "\n";
?>
El resultado del ejemplo sería:
2001-01-31 2001-03-03