DateTimeクラスのcreateFromImmutableメソッド
静的メソッドcreateFromImmutableは、DateTimeクラスのもので、不変なオブジェクトDateTimeImmutableを基に、新しい可変なDateTimeオブジェクトを作成します。
構文
DateTime::createFromImmutable(DateTimeImmutable $object): DateTime
例
不変オブジェクトから可変なDateTimeオブジェクトを作成します:
<?php
$immutable = new DateTimeImmutable('2023-07-15');
$mutable = DateTime::createFromImmutable($immutable);
echo $mutable->format('Y-m-d');
?>
コード実行結果:
'2023-07-15'
例
可変オブジェクトと不変オブジェクトの違いを示します:
<?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');
?>
コード実行結果:
'2023-07-16'
'2023-07-16'
例
タイムゾーンを指定して可変オブジェクトを作成:
<?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');
?>
コード実行結果:
'2023-07-15 14:30:00 Europe/Moscow'
関連項目
-
クラス
DateTimeImmutable,
これは不変な日付と時刻を表します