Méthode createFromImmutable de la classe DateTime
La méthode statique createFromImmutable de la classe DateTime crée un nouvel objet mutable DateTime basé sur un objet immuable DateTimeImmutable.
Syntaxe
DateTime::createFromImmutable(DateTimeImmutable $object): DateTime
Exemple
Créons un objet mutable DateTime à partir d'un objet immuable :
<?php
$immutable = new DateTimeImmutable('2023-07-15');
$mutable = DateTime::createFromImmutable($immutable);
echo $mutable->format('Y-m-d');
?>
Résultat de l'exécution du code :
'2023-07-15'
Exemple
Démontrons la différence entre les objets mutables et immuables :
<?php
$immutable = new DateTimeImmutable('2023-07-15');
$mutable = DateTime::createFromImmutable($immutable);
$mutable->modify('+1 day');
$newImmutable = $immutable->modify('+1 day');
echo $mutable->format('Y-m-d') . "\n";
echo $newImmutable->format('Y-m-d');
?>
Résultat de l'exécution du code :
'2023-07-16'
'2023-07-16'
Exemple
Création d'un objet mutable avec un fuseau horaire :
<?php
$timezone = new DateTimeZone('Europe/Moscow');
$immutable = new DateTimeImmutable('now', $timezone);
$mutable = DateTime::createFromImmutable($immutable);
echo $mutable->format('Y-m-d H:i:s e');
?>
Résultat de l'exécution du code :
'2023-07-15 14:30:00 Europe/Moscow'
Voir aussi
-
classe
DateTimeImmutable,
qui représente une date et une heure immuables