Php 获得时间总是0

Php 获得时间总是0,php,date,time,timestamp,datediff,Php,Date,Time,Timestamp,Datediff,这是我加载页面时得到的结果 代码如下: echo "<b>Requested:</b><br>".round(abs(date("Y-m-d H:i:s") - date("Y-m-d H:i:s", strtotime($row['timestamp']))) / 60,2)." minute(s) ago<br>"; echo "<b>Current Time:</b><br>".date("Y-m-d H

这是我加载页面时得到的结果

代码如下:

echo "<b>Requested:</b><br>".round(abs(date("Y-m-d H:i:s") - date("Y-m-d H:i:s", strtotime($row['timestamp']))) / 60,2)." minute(s) ago<br>";
echo "<b>Current Time:</b><br>".date("Y-m-d H:i:s")."<br>  ";
echo "<b>Requested Time:</b><br>".date("Y-m-d H:i:s", strtotime($row['timestamp']))."<br>  ";
echo“请求:
”.round(abs(日期(“Y-m-dh:i:s”)-日期(“Y-m-dh:i:s”)、strotime($row['timestamp']))/60,2.“分钟(s)前
”; 回显“当前时间:
”。日期(“Y-m-d H:i:s”)。“
”; echo“请求的时间:
”.date(“Y-m-dh:i:s”,strottime($row['timestamp']))。“
”;

我的问题是,它总是说它是在0分钟前请求的。图像显示它应该是在7分钟前,并且正在计数。我已经尝试了上面链接中的代码所显示的内容,我尝试过用不同的格式处理它,有些给了我巨大的数字,所以我来这里寻求帮助

您正在尝试用字符串进行数学运算,因为日期函数以您提供的格式创建字符串。为此使用datetime对象

$previousDate = $row['timestamp'];
$startdate = new DateTime($previousDate);
$endDate   = new DateTime();
$interval  = $endDate->diff($startdate);

$int = $interval->format('%i');
echo "<b>Requested:</b><br>" . $int ." minute(s) ago<br>";

这应该适合您:

<?php

    //$row['timestamp'] = 1419272871; As an example

    echo "<b>Requested:</b><br>".round(abs(strtotime(date("Y-m-d H:i:s")) - strtotime(date("Y-m-d H:i:s", $row['timestamp'])))/60, 2)." minute(s) ago<br>";
    echo "<b>Current Time:</b><br>".date("Y-m-d H:i:s")."<br>  ";
    echo "<b>Requested Time:</b><br>".date("Y-m-d H:i:s", $row['timestamp'])."<br>  ";

?>

这是从MySQL数据库中提取的吗?如果是,则列
时间戳
的确切数据类型是什么?(假设它是TIMESTAMP)并且如果它是MySql获取,并且数据类型是date,确保PHP和MySQL都使用相同的日期格式。这是可行的,但唯一的问题是它现在计算分钟数,但没有得到相同的小时/天ect,所以它应该是77分钟前,而不是1小时17分钟。你知道我的意思吗?查看文档了解更多信息。可以在format方法中指定所需的任何字符串。我只选择了%I分钟,因为这是您的原始代码。
<?php

    //$row['timestamp'] = 1419272871; As an example

    echo "<b>Requested:</b><br>".round(abs(strtotime(date("Y-m-d H:i:s")) - strtotime(date("Y-m-d H:i:s", $row['timestamp'])))/60, 2)." minute(s) ago<br>";
    echo "<b>Current Time:</b><br>".date("Y-m-d H:i:s")."<br>  ";
    echo "<b>Requested Time:</b><br>".date("Y-m-d H:i:s", $row['timestamp'])."<br>  ";

?>
Requested:
1686.53 minute(s) ago
Current Time:
2014-12-23 23:34:23
Requested Time:
2014-12-22 19:27:51