0

我用 php 编写代码,我得到了 2date 之间的所有日子

function getDatesBetween2Dates($startTime, $endTime){    
    $day = 86400;  
    $format = 'Y-m-d';  
    $startTime = strtotime($startTime);  
    $endTime = strtotime($endTime);  
    $numDays = round(($endTime - $startTime) / $day) + 1;  
    $days = array();  
    for ($i = 0; $i < $numDays; $i++) {  
        $days[] = date($format, ($startTime + ($i * $day)));  
    }  
    return $days;  
}  
$days = getDatesBetween2Dates($_POST['periodfrom'], $_POST['periodto']);  
foreach($days as $key => $value){  
    echo $daydatey = date('Y-m-d', strtotime($value));    
    //contain days between 2date from my form
}   
$days2 = getDatesBetween2Dates($ppfr, $ppto);  
foreach($days2 as $key2 => $value2){  
    echo $daydatey2 = date('Y-m-d', strtotime($value2));  
}  

包含来自我的数据库的 2date 之间的天数我只需要在 $days 和 $days2 之间进行比较,以检查 ( $days) 中的任何天数是否存在或等于或类似 ( $days2) 中的天数。请帮忙。

4

1 回答 1

2

我建议你看看 DateTime::diff / date_diff..

http://php.net/manual/en/datetime.diff.php (OOP) http://php.net/manual/en/function.date-diff.php (程序)

但是,这确实需要 php 5.3+,因此如果您低于此答案,请忽略此答案。

例子:

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>
于 2012-12-05T09:39:13.627 回答