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