5分钟前在php

时间:2012-10-16 10:09:05

标签: php date

我已将数据库中的日期存储为“ 15-10-2012 ”,而当日期不超过一天时显示在前端。我需要显示2分钟的年龄, 5小时前等。

我怎样才能做到这一点? 提前谢谢。

输入

15-10-2012

输出

"2 days ago"  

3 个答案:

答案 0 :(得分:1)

请参阅此文http://www.ozzu.com/programming-forum/mysql-selecting-timestamp-from-database-now-minute-t82112.html

看看MYSQL的INTERVAL http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

我认为这会对你有所帮助: WHERE UNIX_TIMESTAMP(your_date) > (NOW() - INTERVAL 5 MINUTE)

答案 1 :(得分:0)

首先从日期计算unix时间戳,然后从当前时间减去并以分钟/小时/天为单位转换差值。

list($day,$month,$year) = explode('-', $date);
$time = mktime(0,0,0,$month,$day,$year);
$now = time();
$difference = $now - $time;
$minutes = intval($difference / 60);

$hours = intval($minutes / 60 ); 

if ($hours > 24) {
   $days = intval($hours / 24);
}

答案 2 :(得分:0)

(假设日 - 月 - 年)

2分钟前:

回音日期('j-n-Y',strtotime('15 -10-2012') - 120);

或者:

回音日期('j-n-Y',strtotime('15 -10-2012 -2 minutes'));

真正的开始日期应该是一个时间戳到第二个。如果只存储日/月/年,那么您需要假设每个日期从00:01开始