Método createFromImmutable de la clase DateTime
El método estático createFromImmutable de la clase DateTime crea un nuevo objeto mutable DateTime basado en un objeto inmutable DateTimeImmutable.
Sintaxis
DateTime::createFromImmutable(DateTimeImmutable $object): DateTime
Ejemplo
Creemos un objeto mutable DateTime a partir de uno inmutable:
<?php
$immutable = new DateTimeImmutable('2023-07-15');
$mutable = DateTime::createFromImmutable($immutable);
echo $mutable->format('Y-m-d');
?>
Resultado de ejecutar el código:
'2023-07-15'
Ejemplo
Demostremos la diferencia entre objetos mutables e inmutables:
<?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');
?>
Resultado de ejecutar el código:
'2023-07-16'
'2023-07-16'
Ejemplo
Creación de un objeto mutable con zona horaria:
<?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');
?>
Resultado de ejecutar el código:
'2023-07-15 14:30:00 Europe/Moscow'
Ver también
-
clase
DateTimeImmutable,
que representa una fecha y hora inmutables