2014-01-28 299 views
3

我在這裏要做的是從3個月範圍內獲取特定條件的日期,並將它們放入數組中。如何獲取DateTime中的兩個日期之間的日期

獲得日期:

$begin = new DateTime('NOW'); 
$end = new DateTime('NOW'); 
$end->modify('+6 month'); 

$interval = new DateInterval('P1D'); 
$period = new DatePeriod($begin, $interval ,$end); 

過濾器讓我的日期的標準:

foreach ($period as $dt){ 
    if ((!($dt->format("l") === 'Saturday') || ($dt->format("l") === 'Sunday')) && ($dt->format("d") == '14')){ 
     $meeting = $dt->format("Y-m-d"); 
     echo $dt->format("Y-m-d") . '<br />'; 

    } 

    if((($dt->format("l") === 'Saturday') || ($dt->format("l") === 'Sunday')) && ($dt->format("d") == '14')){ 
     $dt->modify('Next monday'); 
     echo $dt->format("Y-m-d") . '<br />'; 

    } 
} 

echo '<hr>'; 
$interval_2 = new DateInterval('P1M'); 
$period_2 = new DatePeriod($begin, $interval_2 ,$end); 

foreach ($period_2 as $dt){ 
    $dt->modify('last day of this month'); 
    //echo $dt->format("l Y-m-d\n") . '<br />'; 
    if(($dt->format("l") === 'Saturday') || ($dt->format("l") === 'Sunday') || ($dt->format("l") === 'Friday')){ 
     $dt->modify('previous Thursday'); 
     echo $dt->format("Y-m-d") . '<br />'; 
    } else { 
     echo $dt->format("Y-m-d") . '<br />'; 
    } 


} 

以及這一切完美的作品,但他們只是顯示了,我想擺陣讓他們爲CSV與fputcsv文件,所以我需要他們喜歡:

Month, first_date, second_date 

我怎樣才能做到這一點?

回答

1

解決我的問題通過聲明:

$meet = array(); 
$test = array(); 

,之後在每個if

$meet[] = $dt->format("Y-m-d"); 
$test[] = $dt->format("Y-m-d"); 

而這樣一來,如果你做的var_dump,這將會對他們中的每一個數組。

相關問題