在PHP中减去预定义的时间

时间:2013-03-24 02:48:46

标签: php mysql datetime time

我在mysql数据库中有一个表时间,其中一个属性类型为“TIME”,其中包含默认值“09:00:00”。我想要做的是获取此值并从当前时间中减去它。

include 'connection.php';
$time = mysql_query("SELECT start_time FROM time");
$s = mysql_fetch_assoc($time);
$start_time = strtotime($s['start_time']);
$time_now = date("H:i:s");
$delay = ($time_now - $start_time);

但它从未像我需要的那样工作。结果总是像00:00:00 我想要实现的是:

$start_time = 09:00:00
$time_now = 09:34:23
so $delay should be 00:34:23.

任何帮助实现这一目标? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

您的代码中只是一个小错误....请看下面

include 'connection.php';
$time = mysql_query("SELECT start_time FROM time");
$s = mysql_fetch_assoc($time);

$start_time = strtotime($s['start_time']);
$time_now = date("H:i:s");
$delay = ($time_now - $start_time); //BUG! String minus timestamp here...

修复第二个块:

$start_time = strtotime($s['start_time']);
$delay =  date( "H:i:s", time() - $start_time );

与其他人一致,这在数据库方面也非常干净。

希望这有帮助