我在数据库中存储了一个日期为“ 15-10-2012 ”,当日期不超过一天时显示在前端。我需要显示 2 分钟年龄,5 小时前等。
我怎样才能做到这一点?提前致谢。
输入
15-10-2012
输出
"2 days ago"
见这篇文章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)
(假设日-月-年)
2 分钟前:
回显日期('jnY',strtotime('15-10-2012') - 120);
或者:
回显日期('jnY',strtotime('15-10-2012 -2 分钟'));
实际上,您的开始日期应该是一个时间戳,直到第二个。如果只存储日/月/年,那么您需要假设每个日期从 00:01 开始
首先从日期计算一个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);
}