我现在正在使用API,它提供了一个epochTime。我已经尝试了将这个纪元时间转换为日期的所有内容,但它似乎不起作用,包括$epoch_time / 1000
,然后使用date()
函数进行转换。
纪元时间看起来像这样1353430853299.有办法做到这一点吗? strtotime()
也没有用。
似乎关于纪元时间的所有其他读物都是关于将日期更改为纪元时间,但我希望反过来。任何帮助是极大的赞赏。
答案 0 :(得分:38)
使用substr($ epoch,0,10)修复它,然后对任何想知道13位纪元时间的人使用日期函数。
以下是示例代码:
echo date("Y-m-d H:i:s", substr("1477020641000", 0, 10));
// Result: 2016-10-20 20:30:41
答案 1 :(得分:27)
有几种不同的方法可以做到这一点。
首先,你所拥有的是一个Unix纪元时间。 (1970年1月1日),这使得一切变得更加容易。
在PHP中,尝试
$epoch = 1344988800;
$dt = new DateTime("@$epoch");
echo $dt->format('Y-m-d H:i:s');
显示日期
OR
如果你想要长RFC232日期:
echo date('r', $epoch);
答案 2 :(得分:11)
$epoch = 1344988800;
$dt = new DateTime("@$epoch"); // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2012-08-15 00:00:00
更多:http://www.epochconverter.com/programming/functions-php.php
答案 3 :(得分:11)
<?php
$epoch = '1353429562';
date_default_timezone_set('GMT');
echo date('Y-m-d H:i:s', $epoch);
答案 4 :(得分:2)
仅供参考,发送JSON数据的API使用毫秒级的纪元与网络浏览器兼容。
我不知道为什么PHP需要删除millisecondes,因为它是每个Web浏览器的标准。
所以,你可以使用左边10或/ 1000(如果你不想在2286年11月20日遇到麻烦,最好除以1000!)
答案 5 :(得分:1)
您只需要从纪元格式
中选择 10 位数字<?php echo date("Y-m-d H:i:s", substr("1621157545307", 0, 10)); ?>
输出如下:
<块引用>2021-05-16 15:02:25
答案 6 :(得分:0)
回显日期(“ Y-m-d H:i:s”,回合(1353430853299/1000))有效 用1000除以得到1353430853.299,因此必须舍入以除去数字的小数部分。如果您不希望将地板弄圆,也可以使用地板。