我在php工作。我有桌子EVENT。其中有三个字段, EventID,EventName和EventTime。
我在 EventTime 字段中使用了日期时间格式。
现在我想编写一个返回当前时间和事件时间之间差异的查询。
我希望我的结果打印如下: - eventID发生在1小时20分钟前。
请建议我怎么做。
提前谢谢。
答案 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;