(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTime::modify -- date_modify — Modifie le timestamp
Style orienté objet
Style procédural
Modifie le timestamp d'un objet DateTime en l'incrémentant ou le décrémentant dans un format acceptable par DateTimeImmutable::__construct().
objectStyle procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.
modifierUne chaîne date/heure. Les formats valides sont expliqués dans la documentation sur les formats Date et Heure.
Retourne DateTime en cas de succès.
Style procédural retourne false en cas d'erreur.
API orientée objet uniquement : Si une chaîne de date ou de temps invalide est fournie, une DateMalformedStringException est lancée.
| Version | Description |
|---|---|
| 8.3.0 |
DateTime::modify() lance désormais
DateMalformedStringException si une
chaîne invalide est passée. Auparavant, il retournait false,
et un avertissement était émis.
date_modify() n'a pas été modifiée.
|
Exemple #1 Exemple avec DateTime::modify()
Style orienté objet
<?php
$date = new DateTime('2006-12-12');
$date->modify('+1 day');
echo $date->format('Y-m-d');L'exemple ci-dessus va afficher :
2006-12-13
Style procédural
<?php
$date = date_create('2006-12-12');
date_modify($date, '+1 day');
echo date_format($date, 'Y-m-d');L'exemple ci-dessus va afficher :
2006-12-13
Exemple #2 Il faut se méfier lors de l'ajout ou la soustraction de mois
<?php
$date = new DateTime('2000-12-31');
$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";L'exemple ci-dessus va afficher :
2001-01-31 2001-03-03
Exemple #3 Tous les formats de date et d'heure sont pris en charge
<?php
$date = new DateTime('2020-12-31');
$date->modify('July 1st, 2023');
echo $date->format('Y-m-d H:i') . "\n";
$date->modify('Monday next week');
echo $date->format('Y-m-d H:i') . "\n";
$date->modify('17:30');
echo $date->format('Y-m-d H:i') . "\n";L'exemple ci-dessus va afficher :
2023-07-01 00:00 2023-07-03 00:00 2023-07-03 17:30