{site_name}

{site_name}

🌜 搜索

在PHP中,DateTimeImmutable::setTimezone() 方法是用来修改日期时间对象的时区

php 𝄐 0
php datetime类的引入
在PHP中,DateTimeImmutable::setTimezone() 方法是用来修改日期时间对象的时区。

具体使用方法如下:

首先,你需要创建一个 DateTimeImmutable 对象,如果你已经有一个 DateTime 对象,你可以通过 DateTimeImmutable::createFromMutable() 方法来创建一个不可变的对象。

然后,使用 setTimezone() 方法来设置新的时区。这个方法接受一个参数,表示目标时区。时区可以通过 DateTimeZone 对象来表示,也可以直接使用时区字符串。

最后,你可以调用格式化方法(如 format())来得到修改后的日期时间字符串。

下面是一个示例:

php
$originalDateTime = new DateTimeImmutable('2021-01-01 12:00:00', new DateTimeZone('UTC'));
$newDateTime = $originalDateTime->setTimezone(new DateTimeZone('Asia/Shanghai'));
echo $newDateTime->format('Y-m-d H:i:s');


这个示例中,$originalDateTime 表示原始的日期时间对象,时区设置为 UTC。然后,我们使用 setTimezone() 方法将时区修改为 Asia/Shanghai,得到了 $newDateTime 对象。最后,我们使用 format() 方法将日期时间格式化为字符串,并使用 echo 输出。

输出结果为:2021-01-01 20:00:00,表示原始日期时间对象在 UTC 时区下的时间被修改为 Asia/Shanghai 时区下的时间。