Php 从日期范围提取日期
我的部分回答是动态的: 在本例中,我添加了一个foreach循环来打印所有周一:Php 从日期范围提取日期,php,if-statement,foreach,Php,If Statement,Foreach,我的部分回答是动态的: 在本例中,我添加了一个foreach循环来打印所有周一: $start = strtotime('2016-09-05'); $end = strtotime('2016-09-30'); $mondays=array(); $tuesdays=array(); while( $start <= $end ) { if ( date('N',$start)==1 ) $mondays[]=$start; $start += 86400;
$start = strtotime('2016-09-05');
$end = strtotime('2016-09-30');
$mondays=array();
$tuesdays=array();
while( $start <= $end ) {
if ( date('N',$start)==1 )
$mondays[]=$start;
$start += 86400;
}
foreach ($mondays as $item) {
print date("D. Y-m-d", ($item));
print ("<br>");
}
$start=strotime('2016-09-05');
$end=strottime('2016-09-30');
$mondays=array();
$tuesdays=array();
而($start与您当前的方法保持一致:
$start = strtotime('2016-09-05');
$end = strtotime('2016-09-30');
while($start <= $end) {
if(date("D", $start) == "Mon"){
$mondays[] = $start;
}
elseif(date("D", $start) == "Tue"){
$tuesdays[] = $start;
}
$start += 86400;
}
foreach ($mondays as $item){
echo date("D. Y-m-d", $item);
echo "<br>";
}
echo "<br>";
foreach ($tuesdays as $item){
echo date("D. Y-m-d", $item);
echo "<br>";
}
$start=strotime('2016-09-05');
$end=strottime('2016-09-30');
在这段代码中,$start首先查找DayOfWeek,然后查找范围内的所有dof:
// Data
$StartDate = strtotime('2016-09-06');
$EndDate = strtotime('2016-09-30');
$DayOfWeek = date("l", $StartDate); // Determine day of week
$LoopDate = $StartDate;
// Find all DayOfWeek's Between Start and End
$Result = [$StartDate];
while (true) {
$NextDayOfWeek = strtotime("next " . $DayOfWeek, $LoopDate);
if ($NextDayOfWeek > $EndDate) {
break;
}
$Result[] = $LoopDate = $NextDayOfWeek;
}
// Print Result
/**
| 2016-09-06
| 2016-09-13
| 2016-09-20
| 2016-09-27
*/
foreach( $Result as $Row ) {
echo date("Y-m-d", $Row) . '<br/>';
}
//数据
$StartDate=strottime('2016-09-06');
$EndDate=strottime('2016-09-30');
$DayOfWeek=日期(“l”,$StartDate);//确定星期几
$LoopDate=$StartDate;
//查找开始和结束之间的所有工作日
$Result=[$StartDate];
while(true){
$NextDayOfWeek=strtotime(“下一个”$DayOfWeek,$LoopDate);
如果($NextDayOfWeek>$EndDate){
打破
}
$Result[]=$LoopDate=$NextDayOfWeek;
}
//打印结果
/**
| 2016-09-06
| 2016-09-13
| 2016-09-20
| 2016-09-27
*/
foreach($结果为$行){
回音日期(“Y-m-d”,美元行)。“
”;
}
嗯…“增加一天?”如果你想循环一周中与一天相同的几天$start=strotime(“+1周”,“$start”);
@splash58我相信他们想增加一天,而不是一周。这是我从他们的截图中得到的。@Fred ii-我看到了Mon,Mon,Mon…Tue,Tue,Tue…很高兴听到这一点,享受吧