2014-05-05 48 views
0

假設我有一個月六月2014年。現在我想要獲取六月份所有星期一的日期。獲取一個月內某一天發生的所有事件

像週一是在隨後的日子裏來了這樣的回答會像下面

2014-06-02 
2014-06-09 
2014-06-16 
2014-06-23 
2014-06-30 

請不要放棄是靜態的解決方案只對月。我需要每個月都需要動態解決方案,並且純粹使用PHP。

+0

它只針對一週中的某一天或另一個元素? – ekans

+0

您是否嘗試過小方法? ('$ a = new \ DateTime(「2014-06的第一個星期一」);'然後在同一個月內加上+7天) – Maerlyn

+0

@ekans是的,它只是在一週中的某天 – user3603789

回答

1

試試這個 -

<?php 
$startDate = "2014-06-01"; 
$endDate = "2014-06-30"; 

$startDate = strtotime($startDate); 
$endDate = strtotime($endDate); 

for($i = strtotime('Monday', $startDate); $i <= $endDate; $i = strtotime('+1 week', $i)) 
    echo date('l Y-m-d', $i).PHP_EOL; 


DEMO:

http://3v4l.org/n4ULA

+0

非常感謝您寶貴的時間。它適用於我 – user3603789

1

嘗試創建與所有的日期與關鍵一天,一個陣列(變量$一天$日期) :

$array = array("Monday" => "2014-06-02", "Tuesday" => "2014-06-03", "Wednesday" => "2014-06-04"); 

您創建一個循環以達到所有結果:

foreach($array as $key => $value { 
    if($key == "Monday") 
     echo $value; 
} 
+2

絕對是最好的解決方案:D,如果你這樣做,你會得到A +,100% –