📅  最后修改于: 2023-12-03 15:33:32.083000             🧑  作者: Mango
PHP | DateTimeImmutable::setTimezone() 函数用于在不改变原 DateTimeImmutable 对象的情况下,修改它的时区。
public DateTimeImmutable::setTimezone ( DateTimeZone $timezone ) : DateTimeImmutable
返回一个新的 DateTimeImmutable 对象,该对象包含了指定时区的时间。
以下示例演示了如何使用 setTimezone() 函数:
$nyTimezone = new DateTimeZone("America/New_York");
$dateTime = new DateTimeImmutable("now", new DateTimeZone("UTC"));
echo $dateTime->format('Y-m-d H:i:sP'); // 输出:2022-08-09 08:44:13+00:00
$dateTimeNew = $dateTime->setTimezone($nyTimezone);
echo $dateTimeNew->format('Y-m-d H:i:sP'); // 输出:2022-08-09 04:44:13-04:00
在这个例子中,我们开始创建了一个 DateTimeImmutable 对象,使用“UTC”时区。 然后,我们用 DateTimeZone 对象表示的“America/New_York”时区,调用 setTimezone() 函数。 最后,我们再次输出了 DateTimeImmutable 对象,这次时间以纽约时区的形式呈现。