嘿伙计们,我正在试图弄清楚如何使用php从另一个时间减去一次,以获得两次之间的剩余时间。例如,
剩余时间= time1-time2
或
timeleft = 15:35-15:30
将等于5分钟。
目前我正在装载这两次。
time1来自我的数据库(这是我们等待的时间,在我的情况下,我们等待的时间是下次更新的时间),time2是当前的系统时间。
我尝试使用此代码
$timeleft = $dbtime - $curtime;
$ dbtime =从数据库加载的时间。 $ curtime =当前系统时间。
但这只会返回0。
感谢任何帮助。
答案 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();