将strtotime和mktime输出合并到Month中


Combine strtotime and mktime output into the Month

我创建了一个脚本,该脚本根据用户输入创建时间段。对于本例,我们将使用每周的时间框架周期。用户访问我的网站,并希望每周收到线索,从设定的日期开始,他们进入,每7天的线索将被发送给用户。我需要输出的是有多少线索被发送了一个月,而不是从脚本生成的一周的一天。基本上是通过区分哪一天在一月,哪一天在二月,等等来组合每周的天数。

<input type='hidden' name='start_date' value='12/27/2012'>

 $date1 = $_POST['start_date'];
 $date2 = date('M j, Y', strtotime($date1 . ' + 7 Day')); // echo Jan 3, 2013 sent 5 leads
 $date3 = date('M j, Y', strtotime($date2 . ' + 7 Day')); // echo Jan 10, 2013 sent 3 leads
 $date4 = date('M j, Y', strtotime($date3 . ' + 7 Day')); // echo Jan 17, 2013 sent 7 leads
 $date5 = date('M j, Y', strtotime($date4 . ' + 7 Day')); // echo Jan 24, 2013 sent 9 leads
 $date6 = date('M j, Y', strtotime($date5 . ' + 7 Day')); // echo Jan 31, 2013 sent 8 leads
 $date7 = date('M j, Y', strtotime($date6 . ' + 7 Day')); // echo Feb 7, 2013 sent 1 leads
 $date8 = date('M j, Y', strtotime($date7 . ' + 7 Day')); // echo Feb 14, 2013 sent 8 leads
 $date9 = date('M j, Y', strtotime($date8 . ' + 7 Day'));
 $date10 = date('M j, Y', strtotime($date9 . ' + 7 Day'));
 $date11 = date('M j, Y', strtotime($date10 . ' + 7 Day'));
 $date12 = date('M j, Y', strtotime($date11 . ' + 7 Day'));
 $date13 = date('M j, Y', strtotime($date12 . ' + 7 Day'));
 $date14 = date('M j, Y', strtotime($date13 . ' + 7 Day'));
 $date15 = date('M j, Y', strtotime($date14 . ' + 7 Day'));
 $date16 = date('M j, Y', strtotime($date15 . ' + 7 Day'));

我想输出Jan 32 Leads &2月9日。我不能简单地添加变量,因为它是基于不同的开始日期。

如果我是你,我会使用DatePeriod,因为它完全是你想要的:

$start = DateTime::createFromFormat('M j, Y',$_POST['start_date']);
$interval = new DateInterval('P1D');
$period = new DatePeriod($start,$interval,16);//as you want 16 iteration
foreach($period as $iteration=>$date){
   //use $iteration to know which one you are processing 
   echo $date->format('M j, Y');
}