从MySQL中选择经过的时间

时间:2011-09-13 17:29:56

标签: mysql time elapsed

我正在使用此查询: SELECT NOW() - 日期AS已经过了......

日期列是TIMESTAMP。 当经过的时间约为4小时20分钟时,它返回41632。 这不是时间戳。 它是什么?

或者有没有更好的方法来获取经过的时间并使用PHP生成如下: “2分钟前” “3小时前” “昨天22:32”

非常感谢!

2 个答案:

答案 0 :(得分:15)

使用TimeStampDiff功能

  select TIMESTAMPDIFF(MINUTE, NOW(), timestamp_column) FROM my_table 

答案 1 :(得分:0)

这将显示如下值:

1 month
6 months
4 years
1 year
12 years
...
IF (
   TIMESTAMPDIFF(YEAR, timestamp_column, NOW()) > 0,
   CONCAT(TIMESTAMPDIFF(YEAR, timestamp_column, NOW()), " year", IF(TIMESTAMPDIFF(YEAR, timestamp_column, NOW())=1,"","s")),
   CONCAT(TIMESTAMPDIFF(MONTH, timestamp_column, NOW()), " month", IF(TIMESTAMPDIFF(MONTH, timestamp_column, NOW())=1,"","s"))
)