Php 如何转换特定的时间戳

Php 如何转换特定的时间戳,php,timestamp,Php,Timestamp,我正在尝试将时间戳转换为日期: 例如: 这没问题 $ts = 1456172110000 / 1000; $date = DateTime::createFromFormat("U", $ts)->format("Y-m-d H:i:ss"); echo $date; Result: 2016-02-22 20:15:1010 但这不是 $ts = 1495730996979 / 1000; $date = DateTime::createFromFormat("U", $ts)-&

我正在尝试将时间戳转换为日期:

例如:

这没问题

$ts = 1456172110000 / 1000; 
$date = DateTime::createFromFormat("U", $ts)->format("Y-m-d H:i:ss");
echo $date;
Result: 2016-02-22 20:15:1010
但这不是

$ts = 1495730996979 / 1000; 
$date = DateTime::createFromFormat("U", $ts)->format("Y-m-d H:i:ss");
echo $date;
结果:致命错误:调用布尔值上的成员函数format()

我怎样才能解决这个问题

我想将这个时间戳保存在Mysql中,并作为格式化日期进行检索


谢谢

U
createFromFormat()中的掩码必须是整数值,或者小数点后不包含除零以外的其他数字

强制转换为整数:

$ts = (int) (1495730996979 / 1000); 
$date = DateTime::createFromFormat("U", $ts)->format("Y-m-d H:i:s");
echo $date;
或者用
u
修改您的掩码,时间为小数秒

$ts = 1495730996979 / 1000;
$date = DateTime::createFromFormat("U.u", $ts)->format("Y-m-d H:i:s");
echo $date;

但是为什么要用你的输出格式
ss