从unix时间戳创建php DateTime对象,在一行中设置时区

Gra*_*D71 6 php datetime

我知道在 php 中,您可以从 unix 时间戳创建一个 DateTime 对象,并在多行中设置其时区,如下所示:

$date = new DateTime('@' . $timestamp);
$date_with_timezone = $date->setTimezone(new DateTimeZone('America/Chicago'));
Run Code Online (Sandbox Code Playgroud)

但是,我想在一行上执行此操作。以下不起作用:

$date_with_timezone = new DateTime('@' . $timestamp, new DateTimeZone('America/Chicago'));
Run Code Online (Sandbox Code Playgroud)

有什么方法可以从unix时间戳创建一个php DateTime对象,并在同一行上设置一个时区?

vas*_*ite 10

(new foo)->bar()PHP 5.4 版中引入了对实例化(例如)支持的类成员访问(请参阅发行说明),因此您可以执行以下操作:-

$date = (new DateTime('@' . $timestamp))->setTimezone(new DateTimeZone('America/Chicago'));
Run Code Online (Sandbox Code Playgroud)

看到它工作