2014-05-05 42 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% –