我知道在php中,您可以从unix时间戳创建DateTime对象,并在多行中设置其时区,如下所示:
$date = new DateTime('@' . $timestamp);
$date_with_timezone = $date->setTimezone(new DateTimeZone('America/Chicago'));
但是,我想在一行上执行此操作。以下内容不起作用:
$date_with_timezone = new DateTime('@' . $timestamp, new DateTimeZone('America/Chicago'));
有什么方法可以从Unix时间戳创建php DateTime对象,并在同一行设置时区吗?
最佳答案
PHP版本5.4中引入了对实例化(例如(new foo)->bar()
)支持的类成员访问(请参阅release notes),因此您可以执行以下操作:
$date = (new DateTime('@' . $timestamp))->setTimezone(new DateTimeZone('America/Chicago'));
See it working
关于php - 从Unix时间戳创建PHP DateTime对象,在一行中设置时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40555106/