2014-01-28 86 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,这将会对他们中的每一个数组。

相关问题