返回两个(日期和时间)PHP之间的差异

时间:2014-01-28 11:35:03

标签: php mysql date time

我尝试了堆栈溢出时可用的大部分内容,但似乎都没有。

我试图比较两种(日期和时间格式)的任何方式。并计算它们之间的差异是否在5秒内

第一个日期是当前日期:

$today   = date("Y-m-d H:i:s");

第二个日期取自mysql数据库:

$result = mysql_query("SELECT * FROM BUS_DATA where BusRegID = 'bus'") or die(mysql_error());
$row     = mysql_fetch_array($result);
$update_date  = $row["update_date"];

答案应分为年,月,日,小时,分钟和秒部分。

我正在运行PHP 5.3.3版

编辑:大多数答案仅在时间范围内给出结果,我想检查日期是否匹配,然后比较一天中的时间是否在5秒内,比你们提前:)

3 个答案:

答案 0 :(得分:1)

Try this
function getTimes($t1, $t2)
{
$timeFirst  = strtotime($t1);
$timeSecond = strtotime($t2);
$differenceInSeconds = $timeSecond - $timeFirst;
$h=0;
$m  = floor($differenceInSeconds / 60);
$s  = $differenceInSeconds % 60;
if ($m>=60)
{
  $h = floor($m / 60);
  $m = $m % 60;
}
$tim = $h.':'.$m.':'.$s;
return $tim;
}
it will return difference time in hours:min:sec

答案 1 :(得分:0)

如果你想知道它是否在5秒内然后使用Timestamps,那就进入一个简单的int计算。

$now = time();
$test = strtotime($update_date);
if($now - $test > 5) {
    //NOT WITHIN 5 SECONDS
}

答案 2 :(得分:0)

使用strtotime,它几乎可以理解任何日期格式:

$timeDiff = abs(strtotime($today) - strtotime($update_date));

这为您提供了以秒为单位的日期之间的区别。