📅  最后修改于: 2023-12-03 14:40:38.423000             🧑  作者: Mango
DateTimeImmutable createFromMutable()
函数是PHP中DateTimeImmutable类的一个静态方法,它允许我们从已有的DateTime对象创建一个DateTimeImmutable对象,两者在使用上有所区别,主要是DateTime对象是可变的,而DateTimeImmutable对象只能被创建,不能被更改。
public static DateTimeImmutable createFromMutable(DateTime $dateTime);
参数 $dateTime
为一个DateTime对象。
一个新的DateTimeImmutable对象,表示传入的DateTime对象所表示的时间点。
下面是一个使用 createFromMutable()
函数的示例代码:
<?php
$dateTime = new DateTime('2022-12-31 23:59:59');
$dateTimeImmutable = DateTimeImmutable::createFromMutable($dateTime);
// 输出传入的DateTime对象和新创建的DateTimeImmutable对象
echo $dateTime->format('Y-m-d H:i:s') . PHP_EOL;
echo $dateTimeImmutable->format('Y-m-d H:i:s') . PHP_EOL;
// 修改原DateTime对象的时间
$dateTime->modify('+1 day');
// 再次输出两个对象,发现DateTimeImmutable对象不受影响
echo $dateTime->format('Y-m-d H:i:s') . PHP_EOL;
echo $dateTimeImmutable->format('Y-m-d H:i:s') . PHP_EOL;
输出结果:
2022-12-31 23:59:59
2022-12-31 23:59:59
2023-01-01 23:59:59
2022-12-31 23:59:59
可以看到,createFromMutable()
函数成功地创建了一个新的不可变的DateTimeImmutable对象,即使原先传入的DateTime对象被修改,它也不受影响。