php - sql 时间差函数

标签 php mysql datetime

使用 mysql TIMEDIFF(或类似的东西)的正确方法是什么?在数据库中,我有一个名为 date 的列,它是 setup CURRENT_TIMESTAMP。我正在尝试连续计算 CURRENT_TIMESTAMP 和现在之间的差异,而不是将其回显到所有行..这是我的脚本

  <?php
  mysql_connect("localhost","root","");//database connection
  mysql_select_db("beyondmotors");

  $result = mysql_query("SELECT * FROM currentrentals");

  echo "<table border='2'>
  <tr>
  <th>ID</th>
  <th>Year</th>
  <th>Make</th>
  <th>Model</th>
  <th>First Name</th>
  <th>Last Name</th>
  <th>Insurance</th>
  <th>Date</th>
  <th>Notes</th>
  </tr>";

  while($row = mysql_fetch_array($result))
    {
    echo "<tr>";
    echo "<td>" . $row['id'] . "</td>";
    echo "<td>" . $row['year'] . "</td>";
    echo "<td>" . $row['make'] . "</td>";
    echo "<td>" . $row['model'] . "</td>";
    echo "<td>" . $row['firstname'] . "</td>";
    echo "<td>" . $row['lastname'] . "</td>";
    echo "<td>" . $row['insurance'] . "</td>";
    echo "<td>" . $row['date'] . "</td>";
    echo "<td>" . $row['notes'] . "</td>";
      echo ("<td><a href=\"edit_form.php?id=$row[id]\">Edit</a></td></tr>");
      echo "</tr>";
      }
    echo "</table>";

提前致谢

最佳答案

这在很大程度上取决于您的输出。

例如,TIMEDIFF() 输出的是时、分、秒。因此,它仅限于 TIME 数据类型。

给定单位 SECONDTIMESTAMPDIFF() 是一个更健壮的解决方案。

所有这些都在 MySQL Date and Time functions 中有详细记录.

最后,您通常会看到这些计算是用代码完成的。 SQL不是这样。在你的情况下是 PHP。您可以通过从 strtotime() 中减去时间戳来进行简单的算术运算。或者,如果您使用的是 PHP >= 5.3,则可以使用 DateTime::diff .

顺便说一句,避免为您的列命名关键字,即 date

关于php - sql 时间差函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9915871/

相关文章:

php - 未定义的常量 CURLOPT_GET - 假设为 'CURLOPT_GET'

php - 从一个表中选择另一个表中的 id 并用与第二个表不同的 char 替换整数

php - Mysql查询: joined or separate

html - 有没有办法在 MySQL 中选择带有 html 标签的列?

datetime - 在哪里进行转换 - 时区、计量单位等

php - Magento - 在 Controller 和 block 之间传递数据

php - 如何从 PHP cli 获取 linux 控制台 $COLUMNS 和 $ROWS?

java - hibernate 查询语法异常

datetime - 使用 matplotlib 作为日期刻度的语言为英语

postgresql - EXTRACT(day) 的性能与 BETWEEN 相比如何?