2012-04-27 60 views
-1

所有時間我有約會陣列這樣希望當前月在PHP

$dateArray = array('2012-04-11','2012-04-29','2012-04-26','2012-04-23','2012-03-21','2012-07-23','2012-12-19','2012-04-27','2012-05-12','2012-05-27','2012-05-28'); 

和IM使用代碼來過濾這個數組是

,但它不工作

$start_date= date('Y-m-d',strtotime('first day of this month')) ; 
$end_date =date('Y-m-d',strtotime('first day of next month')) ; 

$month = array(); 

foreach ($dateArray as $dates) 
{ 
$dateTimes = strtotime($dates); 

if (($start_date >= $dateTimes) && ($end_date <= $dateTimes)) 
{ 
    $month[]= $dates; 
} 
} 
var_dump($month); 

但它的不起作用

+0

與magento有什麼關係? – Alexandre 2012-04-27 11:28:50

回答

0

你好如果你想顯示從陣列具有當月僅日期,然後

foreach($dateArray AS $dateArr){ 

     if(date('M') == date('M' , strtotime($dateArr))){ 
      echo $mnthDate[] = $dateArr;echo "<br/>"; 
     } 
    } 

否則,如果還需要檢查這兩個年份和月份相同,當前年份和月份。

foreach($dateArray AS $dateArr){ 
     if((date('M') == date('M' , strtotime($dateArr))) && (date('Y') == date('Y' , strtotime($dateArr)))){ 
      $yrDate[] = $dateArr;echo "<br/>"; 
     } 
    } 
1

您需要比較unix時間戳才能正確進行比較:

$dateArray = array('2012-04-11','2012-04-29','2012-04-26','2012-04-23','2012-03-21','2012-07-23','2012-12-19','2012-04-27','2012-05-12','2012-05-27','2012-05-28'); 
$start_date = strtotime('first day of this month') ; 
$end_date = strtotime('first day of next month') ; 

$month = array(); 

foreach ($dateArray as $dates) 
{ 
    $dateTimes = strtotime($dates); 

    if (($start_date >= $dateTimes) && ($end_date <= $dateTimes)) 
    { 
     $month[]= $dates; 
    } 
} 
var_dump($month); 
+0

我已經試過如果((時間() - (26 * 24 * 60 * 60)> = $ dateTimes)&&(時間()+(5 * 24 * 60 * 60)<= $ dateTimes))' – 2012-04-27 11:37:19

+0

還是行不通 – 2012-04-27 11:37:47