无论如何都要在php中找到日期差异?我有从2003-10-17到2004-03-24的输入。我需要结果这两天内有多少天。比如说224天,我只需要几天就可以输出。
我通过mysql找到解决方案,但我需要在PHP中。有人帮助我,提前谢谢。
答案 0 :(得分:5)
$start = new DateTime( '2003-10-17' );
$end = new DateTime( '2004-03-24' );
$diff = $start->diff( $end );
echo $diff->format( '%d days' );
......应该这样做。
有关参考,请参阅DateTime和DateInterval。
请注意,这仅适用于PHP 5.3。
答案 1 :(得分:2)
您可以使用解析时间戳功能将日期转换为时间戳,减去时间戳,然后将生成的时间戳(秒)转换为天数:
floor((strtotime("2004-03-24") - strtotime("2003-10-17"))/86400);
答案 2 :(得分:0)
示例如下:
$startDate = new DateTime( '2013-04-01' ); //intialize start date
$endDate = new DateTime( '2013-04-30' ); //initialize end date
$holiday = array('2013-04-11','2013-04-25'); //this is assumed list of holiday
$interval = new DateInterval('P1D'); // set the interval as 1 day
$daterange = new DatePeriod($startDate, $interval ,$endDate);
foreach($daterange as $date){
if($date->format("N") <6 AND !in_array($date->format("Y-m-d"),$holiday))
$result[] = $date->format("Y-m-d");
}
echo "<pre>";print_r($result);
详情博客位于:http://goo.gl/YOsfPX