PHP从数据库中挑选时间间隔?

时间:2013-02-20 16:05:33

标签: php sql date

我有一个数据库,其中包含一个充满时间戳的列,我已经让它返回php中的所有值,同时使用下面的代码将它们转换为正常的时间格式(12:00:01)但看到我想要放入我们需要一种严格限制它们的方式(目前为23,922行)。我在考虑以10-15分钟的间隔使用这些值,但无法找到一种方法。有人有什么建议吗?干杯,约翰。

while($info = mysql_fetch_array( $query )) 
{ 
   echo date("H:i:s", $info['timestamp']);
}

1 个答案:

答案 0 :(得分:0)

如果您的“时间戳”是实际时间戳(列类型时间戳),您可以使用简单的>或者<运算符来过滤结果,例如:where timestamp> “2013-02-20 16:10:00”

如果它们是整数或字符串,您可以使用FROM_UNIXTIME()或其他可能与您的数据匹配的函数(假设您的数据库是MySQL,请参阅https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

即使将数据保存为varchar MySQL数据库对于某些数学运算来说足够聪明,它也不如使用正确的类型保存它们有效但它可以工作:

SELECT `timestamp`
  FROM yourtable
  WHERE `timestamp` >= ( 
    SELECT MAX( `timestamp` ) max
      FROM  yourtable
  ) - ( 60 *15 ) -- 15 minutes