如何计算SQL时间和PHP时间之间的时差

时间:2016-01-04 09:47:59

标签: php html mysql sql time

我已经用这种格式在SQL中设置了时间:2016-01-03 12:13:26。 我想计算从NOW()到特定SQL时间的小时数和分钟数(如果小时数<1)。 我一直在寻找所有不同的主题,但我似乎无法掌握如何将PHP不同的时间格式转换为SQL。

这是我一直在使用的代码,但这只能让我回到12小时和几分钟。几天不知道如何使用它。

$now = date("d/m/Y h:i:s");
$commentime = strtotime($SQLTIME);
$timetocomment = $now - $commentime;

例如,此代码将在12小时前产生&#34;&#34;对于我24小时前发布到SQL的数据。 我该怎么做?谢谢。

1 个答案:

答案 0 :(得分:0)

我建议您使用date()这种格式date("Y-m-d h:i:s")。你将获得array的完全不同。

function dateDifference($date_1 ,$date_2)
{
    $datetime1 = date_create($date_1);
    $datetime2 = date_create($date_2);

    $interval = date_diff($datetime1, $datetime2);
    return $interval;
}

$now = date("Y-m-d h:i:s");
$sqlTime = "2016-01-03 12:13:26";
$DateDiffArr = dateDifference($now,$sqlTime);

echo "<pre>";
print_r($DateDiffArr);

结果是:

DateInterval Object
(
    [y] => 0
    [m] => 0
    [d] => 0
    [h] => 22
    [i] => 45
    [s] => 55
    [weekday] => 0
    [weekday_behavior] => 0
    [first_last_day_of] => 0
    [invert] => 1
    [days] => 0
    [special_type] => 0
    [special_amount] => 0
    [have_weekday_relative] => 0
    [have_special_relative] => 0
)

在结果array中,您可以根据需要获得所有差异,例如年,月,日,分,秒等。