减去时间PHP

时间:2017-03-10 21:45:02

标签: php html date strtotime

我在PHP中减去时间时遇到了麻烦。

我的时代是:

$ row ['exp'] = 2017-03-31

和日期('Y-m-d') = 2017-03-10(今天)

$datetime1 = strtotime($row['exp']);
$datetime2 = strtotime(date('Y-m-d'));
$secs = $datetime1 - $datetime2;// == <seconds between the two times>
$days = $secs / 86400;
echo $days;

我的结果是:

  

36520.958333333333

1 个答案:

答案 0 :(得分:1)

使用PHP DateTime类,它具有内置函数,例如DateTime :: diff,这似乎是您正在寻找的。 DateTime对象也更容易使用。

$today = new DateTime('today');
$date = new DateTime("2017-03-31");

echo $today->diff($date)->d; // 21

只需将$row['exp']作为$date的参数传递,即可获得

$date = new DateTime($row['exp']);

虽然,我无法使用您提供的输入重现您的问题,this live demo输出“20.958333333333”(这是正确的,您只需要ceil())。

Live demo

参考