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

标签 php datetime

我知道在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/

相关文章:

php - 从不同的表中获取 ID 的名称

php - 使用 php 和 mysql 的登录页面无法正常工作

php - PHP select where 与 left join 的性能

c# - 如何检查 DateTime 是否发生在今天?

php - 使用 Laravel 插入带有句点的表(有 Blob )

php - Magento 的类图

使用 DATEVALUE 函数时 Excel #Value 错误

php - 更新或检索 mysql 上的日期时间为 w3c 日期和时间格式

c# - 运算符(operator) !不能应用于 Task<bool> 类型的操作数

c# - 获取格式化字符串以表示 UTC 偏移量的最佳方法是什么?