Função date_sub
A função date_sub subtrai um intervalo de tempo de um objeto de data.
O primeiro parâmetro aceita um objeto DateTime, o segundo - um objeto DateInterval.
Sintaxe
date_sub(DateTime $object, DateInterval $interval);
Exemplo
Vamos subtrair 10 dias da data especificada:
<?php
$date = new DateTime('2025-06-15');
$interval = new DateInterval('P10D');
date_sub($date, $interval);
echo $date->format('Y-m-d');
?>
Resultado da execução do código:
'2025-06-05'
Exemplo
Vamos subtrair 1 ano e 2 meses da data:
<?php
$date = new DateTime('2025-03-20');
$interval = new DateInterval('P1Y2M');
date_sub($date, $interval);
echo $date->format('Y-m-d');
?>
Resultado da execução do código:
'2024-01-20'
Exemplo
A função date_create retorna um objeto DateTime.
Podemos reescrever o código em um estilo misto,
parcialmente OOP e parcialmente funcional:
<?php
$date = date_create('2025-03-20');
$interval = new DateInterval('P1Y2M');
date_sub($date, $interval);
echo date_format($date, 'Y-m-d');
?>
Resultado da execução do código:
'2024-01-20'