我需要减去2个日期时间,我尝试了很多东西,但似乎没有任何工作:
$startime = $historial->getStarttime(); //Datetime
$endtime = $historial->getEndtime(); //Datetime
$mytime = $endtime - $startime;
我也试过了strtotime()
,date()
...
任何帮助或线索?
答案 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