Método setDate de la clase DateTime

El método setDate cambia la fecha en el objeto DateTime. Acepta tres parámetros: año (número entero), mes (número entero del 1 al 12) y día (número entero del 1 al 31). Devuelve el objeto DateTime modificado.

Sintaxis

phppublic DateTime::setDate(int $year, int $month, int $day): DateTime

Ejemplo

Establezcamos la nueva fecha 15 de marzo de 2023:

php<?php
  $date = new DateTime();
  $date->setDate(2023, 3, 15);
  echo $date->format('Y-m-d');
?>

Resultado de ejecutar el código:

php'2023-03-15'

Ejemplo

Corrección automática de fechas incorrectas (32 de enero se convierte en 1 de febrero):

php<?php
  $date = new DateTime();
  $date->setDate(2023, 1, 32);
  echo $date->format('Y-m-d');
?>

Resultado de ejecutar el código:

php'2023-02-01'

Ejemplo

Establecer fecha con valores negativos (transición al año anterior):

php<?php
  $date = new DateTime();
  $date->setDate(2023, -1, 15);
  echo $date->format('Y-m-d');
?>

Resultado de ejecutar el código:

php'2022-11-15'

Ver también

  • la función checkdate,
    que verifica la corrección de la fecha
  • la función date,
    que formatea la fecha especificada
  • la función modify,
    que cambia la fecha por una cadena de formato relativo