我使用查询从数据库中提取时间戳,如何将该时间戳与当前时间进行比较。我试图让输出说“更新X分钟前”。
服务器的时间戳格式为YYYY-MM-DD HH-MM-SS(24小时制)
谢谢!
答案 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";
让数据库进行计算更好 - 它已经获得了内部格式的时间戳,这种格式很容易适应这些类型的计算。选择格式化的字符串,然后将字符串转换回时间值等等,只是浪费了计算时间。