我想在选择开始日期到结束日期之间显示所有周日期,所以我尝试按照代码
<?
$signupweek='2015-05-21';
/*start day*/
for($i = 0; $i <7 ; $i++)
{
$date = date('Y-m-d', strtotime("-".$i."days", strtotime($signupweek)));
$dayName = date('D', strtotime($date));
if($dayName == "Sun")
{
echo "start day is ". $date."<br>";
}
}
?>
当我运行上面的代码时,它只给出了7天之前的日期开始日期,但我希望得到如下结果
sDate = '2013-02-25',
eDate = '2013-03-25';
输出
2013-02-25
2013-03-04
2013-03-11
任何想法我怎么能让它成为可能?你的建议很明显。
修改
根据 someOne 回答,我得到了我想要的结果但是现在我做了一些改变就好了,现在如果我输入 start_date = 2015-04-01和end_date = 2015 -05-01 所以我需要输出如下
2015-04-08
2015-04-15
2015-04-22
2015-04-29
我的输出列表中不需要 start_date = 2015-04-01 。这可能在以下功能中吗?
答案 0 :(得分:1)
所以你想得到下周的日期:
<?php
function getWeeklyDates($from, $to) {
$from = strtotime($from);
$to = strtotime($to);
$dates = array();
$current = $from;
while($current <= $to) {
$dates[] = $current;
$current = strtotime("+7 day", $current);
}
return $dates;
}
$dates = getWeeklyDates('2013-02-25', '2013-03-25');
foreach($dates as $date)
echo date("Y-m-d", $date) ."<br />";
?>
答案 1 :(得分:1)
根据OP的编辑和请求,提供了以下新功能,使用户能够使用{{1}的可选参数指定是否在最终结果中包含起始日期或结束日期分别和$includeFrom
:
$includeTo