如何在php中以可读格式显示时差


How to display time difference in a human readable format in php?

可能重复:
PHP:有没有一个函数可以将日期字符串转换为人类可读的格式?

我有一个mysql表,其结构如下:

表:人column1:name varchar(60(column2:得分int(11(列3:时间日期时间(60(

我有一个表单,它使用php将数据插入到这个表中:名称、分数和当前时间戳(NOW(((。所有数据都按"时间"列的降序显示。

我的难题是如何将"时间列"中的时间与当前时间进行比较,并使用php以可读格式显示,如"5分钟前"或"2小时前"。有没有直接在php中查找时差的功能?还是应该使用javascript?

我建议您看看Symfony DateHelper函数。您应该能够在Symfony框架之外使用这些函数,并且它们非常善于显示日期范围和差异。

源代码:

http://trac.symfony-project.org/browser/branches/1.4/lib/helper/DateHelper.php

您可以使用MySQL TIMEDIFF函数来获得差异,然后编写一个简单的PHP函数来将其解析为相关的人类可读输出。

或者将这两个日期时间值加载到PHP datetime类中,然后使用diff((方法返回DateInterval类。