如何使用PHP比较MySQL中的时间值?

时间:2014-04-02 05:33:17

标签: php mysql

我的MySQL数据库表中有一个名为arrival_time的字段。应该使用哪个函数来报告arrival_time方面的一组选定记录中是否存在超过5分钟的差异?

2 个答案:

答案 0 :(得分:0)

两个步骤:

  1. 选择最小和最大arrival_time
  2. 使用聚合条件确定从步骤1获得的值之间的差异超过五分钟。
  3. 所以,这应该有效(未经测试):

    SELECT MIN(arrival_time) AS min_time, MAX(arrival_time) AS max_time
    FROM mytable
    GROUP BY <xyz>
    HAVING DATE_SUB(max_time, INTERVAL 5 MINUTE) < min_time;
    

    另见DATE_SUB()

答案 1 :(得分:0)

如果arrival_time是UNIX时间戳,您可以使用它。您的查询看起来像这样:

SELECT *, UNIX_TIMESTAMP(arrival_time) AS arrival_time

虽然你的php检查了5分钟

if( strtotime('-5 minutes') < $row["arrival_time"] ) {
   echo "More than 5 minutes has elapsed";
}