-1

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

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

输入

15-10-2012

输出

"2 days ago"  
4

3 回答 3

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)

于 2012-10-16T10:27:40.480 回答
0

(假设日-月-年)

2 分钟前:

回显日期('jnY',strtotime('15-10-2012') - 120);

或者:

回显日期('jnY',strtotime('15-10-2012 -2 分钟'));

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

于 2012-10-16T10:31:39.000 回答
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);
}
于 2012-10-16T10:10:56.667 回答