如何获得当前时间和eventTime之间的时差

时间:2011-11-24 07:56:17

标签: php mysql sql

我在php工作。我有桌子EVENT。其中有三个字段, EventID,EventName和EventTime。

我在 EventTime 字段中使用了日期时间格式。

现在我想编写一个返回当前时间和事件时间之间差异的查询。

我希望我的结果打印如下: - eventID发生在1小时20分钟前

请建议我怎么做。

提前谢谢。

2 个答案:

答案 0 :(得分:4)

试试这个 -

SELECT EventID, TIME_FORMAT(TIMEDIFF(NOW(), EventTime), 'occured %H hour %i minutes ago') diff FROM table;

SELECT EventID, CONCAT('occured ', hours, IF(hours > 1, ' hours ', ' hour '), minutes, IF(minutes > 1, ' minutes', ' minute'), ' ago') FROM (
  SELECT EventID, 
    @diff:=TIMEDIFF(NOW(), EventTime),
    EXTRACT(HOUR FROM @diff) hours,
    EXTRACT(MINUTE FROM @diff) minutes
  FROM EVENT) t;

答案 1 :(得分:0)

我完全按照这样做: -

SELECT
  placeID,
  IF(TIMEDIFF(NOW(), comment_datetime) > '01:00:00',
    TIME_FORMAT(TIMEDIFF(NOW(), comment_datetime), 'occured %H hour %i minutes ago'),
    TIME_FORMAT(TIMEDIFF(NOW(), comment_datetime), '%i minutes ago')
  ) diff
FROM
  place_comments;