Date()期望参数2为整数,给定浮点数


date() expects parameter 2 to be integer, float given

我从数据库147836340000得到了以下时间戳长值,我想在数据和时间上转换它。我已经尝试使用以下命令:

$timestamp=147836340000;
print_r(date('m/d/Y H:i:s', $timestamp));

但不幸的是,我得到以下错误:

date()期望参数2为整数,给定浮点数

请告诉我需要做什么。

这可能是JS时间戳,所以你需要将它除以1000。但是在您的示例中,日期在最后看起来偏离了一个额外的0。根据JS规范,应该是1478363400000

你的版本:

$timestamp=147836340000;
print_r(date('m/d/Y H:i:s', $timestamp));
> 09/30/6654 18:00:00

试试这个(在线演示):

$timestamp=(int) 147836340000 / 1000;
echo "Wrong: " . date('m/d/Y H:i:s', $timestamp) . PHP_EOL;
$timestamp=(int) 1478363400000 / 1000;
echo "Corrected: " . date('m/d/Y H:i:s', $timestamp) . PHP_EOL;
> Wrong: 09/08/1974 02:39:00
> Corrected: 11/05/2016 17:30:00
Javascript和PHP之间的时间戳