如何转换特定的时间戳

时间:2017-08-09 19:03:32

标签: 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)->format("Y-m-d H:i:ss");
echo $date;

结果:致命错误:在布尔值

上调用成员函数format()

我该如何解决这个问题?

我想在Mysql中保存此timeStamp并检索为格式化日期

谢谢

1 个答案:

答案 0 :(得分:1)

createFromFormat()中的

U掩码需要是一个整数值,或者小数点后不包含零的数字

要么转换为整数:

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