DateTime::modify

date_modify

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

DateTime::modify -- date_modifyModifie le timestamp

Description

Style orienté objet

public DateTime::modify(string $modifier): DateTime

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().

Liste de paramètres

object

Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.

modifier

Une chaîne date/heure. Les formats valides sont expliqués dans la documentation sur les formats Date et Heure.

Valeurs de retour

Retourne DateTime en cas de succès. Style procédural retourne false en cas d'erreur.

Erreurs / Exceptions

API orientée objet uniquement : Si une chaîne de date ou de temps invalide est fournie, une DateMalformedStringException est lancée.

Historique

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.

Exemples

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

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top