date_sub în PHP

Dată și oră PHP 5.3+

Scade un interval de timp (DateInterval) dintr-un obiect DateTime.

Sintaxă
date_sub(DateTime $object, DateInterval $interval): DateTime

Ce face date_sub

date_sub este forma de funcție a metodei DateTime::sub() și perechea lui date_add. Modifică obiectul pe loc.

Parametri

Parametru Descriere
$object Obiectul DateTime modificat.
$interval Intervalul scăzut.

Ce returnează

Același obiect, modificat.

Exemple

Exemplul 1: Memento cu 36 de ore înainte

<?php
$eveniment = date_create("2026-12-13 00:00");

$memento = clone $eveniment;
date_sub($memento, new DateInterval("PT36H"));

echo "Eveniment: " . date_format($eveniment, "d.m.Y H:i") . "\n";
echo "Memento:   " . date_format($memento, "d.m.Y H:i");

Rezultat

Eveniment: 13.12.2026 00:00
Memento:   11.12.2026 12:00

Greșeli frecvente

  • Uiți că date_sub modifică obiectul original. Dacă ai nevoie și de data inițială, lucrează pe o copie (clone) sau folosește DateTimeImmutable::sub().

Comenzi înrudite

  • date_add: Adaugă un interval de timp (DateInterval) la un obiect DateTime, de exemplu 1 lună și 10 zile.
  • date_modify: Modifică un obiect DateTime cu o expresie relativă, de exemplu +1 day, next monday sau last day of this month.
  • date_diff / DateInterval: Calculează diferența dintre două date: ani, luni, zile, ore. Rezultatul este un obiect DateInterval.