0

我在 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.

有什么帮助吗?提前致谢。

4

1 回答 1

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 );

不过,同意其他人的观点,这在数据库方面也做得很干净。

希望这可以帮助

于 2013-03-24T03:05:15.240 回答