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

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é Objet uniquement : Si une chaîne de date ou de temps invalide est fournie, une DateMalformedStringException est lancé.

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.

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');
?>

Style procédural

<?php
$date
= date_create('2006-12-12');
date_modify($date, '+1 day');
echo
date_format($date, 'Y-m-d');
?>

Les exemples ci-dessus vont afficher :

2006-12-13

Exemple #2 Méfiez-vous 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('1er juillet 2023');
echo
$date->format('Y-m-d H:i') . "\n";

$date->modify('l prochain');
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