比较PHP中的时间戳

时间:2012-03-05 17:44:01

标签: php sql

我使用查询从数据库中提取时间戳,如何将该时间戳与当前时间进行比较。我试图让输出说“更新X分钟前”。

服务器的时间戳格式为YYYY-MM-DD HH-MM-SS(24小时制)

谢谢!

2 个答案:

答案 0 :(得分:3)

您可以将大多数日期(包括来自MySQL的日期)与strtotime()转换为unix时间戳(自1970年1月1日以来的秒数)

所以你可以做到

$then = $your_date_from_mysql;
$now = time();
$time_ago = $now - strtotime($then); //gets time ago in seconds
$minutes = $time_ago / 60; //you could call floor() on this to round it down - or ceil() to round up
echo "Updated {$minutes} minutes ago";

答案 1 :(得分:1)

假设你正在使用MySQL:

SELECT UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(timestampfield) AS seconds

然后

echo "Updated ", ceil($seconds / 60), " seconds ago";

让数据库进行计算更好 - 它已经获得了内部格式的时间戳,这种格式很容易适应这些类型的计算。选择格式化的字符串,然后将字符串转换回时间值等等,只是浪费了计算时间。