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));  
}  

DB の 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 に答える