Php 将Unix时间戳UTC 0转换为可读的日期/时间

Php 将Unix时间戳UTC 0转换为可读的日期/时间,php,timestamp,Php,Timestamp,我有一个保存在UTC 0的unix时间戳。我需要将其转换为GMT-08:00(太平洋标准时间-美国洛杉矶)。 我需要将时间戳1546329808471转换为 日期格式-m/d/Y 时间格式h:ia 我有 $time = new DateTime(date('h:i a', $pickup['timestamp']/1000)); // which returns the time in UTC 0. $date = date('m/d/Y', $pickup['timestamp'] / 100

我有一个保存在
UTC 0
的unix时间戳。我需要将其转换为
GMT-08:00(太平洋标准时间-美国洛杉矶)。

我需要将时间戳
1546329808471
转换为

日期格式-m/d/Y

时间格式h:ia

我有

$time = new DateTime(date('h:i a', $pickup['timestamp']/1000)); // which returns the time in UTC 0.
$date = date('m/d/Y', $pickup['timestamp'] / 1000); // is the date in UTC 0.
返回


01/01/2019
08:03 am
这对UTC 0是正确的,但对PST不是正确的。

您应该首先使用date\u default\u timezone\u set设置默认时区,然后显示时间/日期,如下所示:

date_default_timezone_set('America/Los_Angeles');
$time = new DateTime(date('h:i a', $pickup['timestamp']/1000)); 
$date = date('m/d/Y', $pickup['timestamp'] / 1000);

您只需使用
setTimezone()
并创建
DateTimeZone
类的对象即可获得结果

$pst = new DateTimeZone('America/Los_Angeles');
$time = new DateTime(date('m/d/Y h:i a', $pickup['timestamp']/1000)); 
$time->setTimezone($pst);
print_r($time);

你可以从

中了解更多关于它的信息,你可以使用
date\u default\u timezone\u set
功能你能给我一个答案中的例子吗?是的,你可以在下面看到答案。当将类DateTime的
对象保存到数据库时,它无法转换为字符串。我得到了,我正在保存该对象,而不是酒店。祝你有美好的一天,继续编码:)