DateTimeImmutable::sub

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::subSoustrait un nombre de jours, mois, années, heures et secondes

Description

public DateTimeImmutable::sub(DateInterval $interval): DateTimeImmutable

Retourne un nouvel objet DateTimeImmutable, avec l'objet DateInterval spécifié soustrait de l'objet DateTimeImmutable spécifié.

Liste de paramètres

interval

Un objet DateInterval.

Valeurs de retour

Retourne un nouvel objet DateTimeImmutable avec les données modifiées.

Exemples

Exemple #1 Exemple de DateTimeImmutable::sub()

Style orienté objet

<?php
$date
= new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P10D'));
echo
$newDate->format('Y-m-d') . "\n";
?>

Les exemples ci-dessus vont afficher :

2000-01-10

Exemple #2 Exemples supplémentaires de DateTimeImmutable::sub()

<?php
$date
= new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('PT10H30S'));
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$date = new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo
$newDate->format('Y-m-d H:i:s') . "\n";
?>

L'exemple ci-dessus va afficher :

2000-01-19 13:59:30
1992-08-15 19:56:58

Exemple #3 Faire attention lors de la soustraction de mois

<?php
$date
= new DateTimeImmutable('2001-04-30');
$interval = new DateInterval('P1M');

$newDate1 = $date->sub($interval);
echo
$newDate1->format('Y-m-d') . "\n";

$newDate2 = $newDate1->sub($interval);
echo
$newDate2->format('Y-m-d') . "\n";
?>

L'exemple ci-dessus va afficher :

2001-03-30
2001-03-02

Voir aussi