Función date_sub

La función date_sub resta un intervalo de tiempo de un objeto de fecha. El primer parámetro acepta un objeto DateTime, el segundo - un objeto DateInterval.

Sintaxis

phpdate_sub(DateTime $object, DateInterval $interval);

Ejemplo

Restemos 10 días de la fecha especificada:

php<?php
  $date = new DateTime('2025-06-15');
  $interval = new DateInterval('P10D');
  
  date_sub($date, $interval);
  echo $date->format('Y-m-d');
?>

Resultado de ejecutar el código:

php'2025-06-05'

Ejemplo

Restemos 1 año y 2 meses de la fecha:

php<?php
  $date = new DateTime('2025-03-20');
  $interval = new DateInterval('P1Y2M');
  
  date_sub($date, $interval);
  echo $date->format('Y-m-d');
?>

Resultado de ejecutar el código:

php'2024-01-20'

Ejemplo

La función date_create devuelve un objeto DateTime. Se puede reescribir el código en estilo mixto, parcialmente OOP y parcialmente funcional:

php<?php
  $date = date_create('2025-03-20');
  $interval = new DateInterval('P1Y2M');
  
  date_sub($date, $interval);
  echo date_format($date, 'Y-m-d');
?>

Resultado de ejecutar el código:

php'2024-01-20'

Ver también