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

时间:2019-01-24 04:30:00

标签: php timestamp

我有一个unix时间戳记,保存在UTC 0。我需要将其转换为GMT -08:00 ( PST - America LA ).

我需要使用1546329808471的时间戳并将其转换为

Date format - m/d/Y

Time Format h:i a

我有

$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。

2 个答案:

答案 0 :(得分:1)

您只需使用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);

您可以从here

了解更多信息

答案 1 :(得分:0)

您应该首先使用 date_default_timezone_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);