减去时间PHP
Subtracting time PHP
我在 PHP 中减去时间时遇到问题。
我的时间是:
$行['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
改用 PHP DateTime class,它内置函数,例如 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()
它)。
参考资料
我在 PHP 中减去时间时遇到问题。
我的时间是:
$行['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
改用 PHP DateTime class,它内置函数,例如 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()
它)。