在laravel中将unix时间戳转换为人类可读日期

时间:2016-08-11 13:25:04

标签: php laravel-5.2

抱歉,这可能是一个重复的问题。但我仍然没有得到正确答案。

我有一个unix时间戳'1470900186868',它应该转换为'星期四,2016年8月11日07:23:06.868格林威治标准时间',但我总是得到相同的价值'12月20日,48580 @ 17:14: 28 UTC'。

先谢谢。

2 个答案:

答案 0 :(得分:1)

<?php
$val = 1470900186868;

// Grab the milliseconds as the initial value mod 1000
$milliseconds = $val % 1000;

// Divide by 1000 to obtain the actual timestamp
$ts = intval($val / 1000);

// Parse into a DateTime object
$date = DateTime::createFromFormat('U', $ts);

// Formatted output
echo $date->format('D, d M Y H:i:s') . '.' . $milliseconds;

答案 1 :(得分:0)

您是否尝试使用DateTime对象?

echo (new DateTime())
    ->setTimestamp(1470900186868 / 1000)
    ->format('D, d M Y H:i:s T')