减去2个日期时间

时间:2012-01-15 02:25:01

标签: php

我需要减去2个日期时间,我尝试了很多东西,但似乎没有任何工作:

$startime = $historial->getStarttime(); //Datetime
$endtime  = $historial->getEndtime();   //Datetime
$mytime = $endtime - $startime;

我也试过了strtotime()date() ...

任何帮助或线索?

3 个答案:

答案 0 :(得分:2)

查看DateTime对象的diff()方法:http://www.php.net/manual/en/datetime.diff.php

<?php
$interval = $startTime->diff($endTime);

它返回一个DateInterval方法,您可以根据需要进行格式化:http://www.php.net/manual/en/dateinterval.format.php

<?php
echo $interval->format('%d days');

答案 1 :(得分:1)

减法运算符不能那样工作,你需要DateTime::diff()

$diff = $starttime->diff($endtime);

这将返回一个DateInterval实例,您可以输出所需的format

答案 2 :(得分:0)

    $datetime1 = new \DateTime('2009-10-11');
    $datetime2 = new \DateTime('2009-10-13');
    $interval = $datetime1->diff($datetime2);
    $datetime1->sub($interval);

    echo $datetime1->format("Y-m-d"); // 2009-10-09