📜  DateTimeImmutable createFromMutable()函数(1)

📅  最后修改于: 2023-12-03 14:40:38.423000             🧑  作者: Mango

DateTimeImmutable createFromMutable()函数介绍

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对象被修改,它也不受影响。