一次否定另一次

时间:2011-11-18 07:18:58

标签: php

嘿伙计们,我正在试图弄清楚如何使用php从另一个时间减去一次,以获得两次之间的剩余时间。例如,

剩余时间= time1-time2

timeleft = 15:35-15:30

将等于5分钟。

目前我正在装载这两次。

time1来自我的数据库(这是我们等待的时间,在我的情况下,我们等待的时间是下次更新的时间),time2是当前的系统时间。

我尝试使用此代码

$timeleft = $dbtime - $curtime;

$ dbtime =从数据库加载的时间。 $ curtime =当前系统时间。

但这只会返回0。

感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

使用strtotime将日期字符串转换为unix时间戳。

$timeleft = strtotime($dbtime) - strtotime($curtime);

答案 1 :(得分:0)

你否定了另一个字符串 - 结果为0,因为(int)(string) = 0

你必须像这样使用

$dbtime = time();
// query
$timeleft = time() - $dbtime;

另见strtotime()函数,如果你的日期被解析

答案 2 :(得分:0)

您必须将两次转换为时间戳。一个很好的功能是strtotime()http://php.net/manual/en/function.strtotime.php尝试将字符串转换为时间戳。

然后按照你的要求做你的数学,然后使用date()http://www.php.net/manual/en/function.date.php函数将你的时间用于你喜欢的任何事情

答案 3 :(得分:0)

使用strtotime将字符串转换为unix时间戳:

$timedifference = strtotime($dbtime) - strtotime($curtime); // or also
$timedifference = strtotime($dbtime) - time();