我在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
答案 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()
)。