Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,如何在给定的日期范围内获取一周中的每一天?_Php_Date_Schedule_Dayofweek - Fatal编程技术网

在PHP中,如何在给定的日期范围内获取一周中的每一天?

在PHP中,如何在给定的日期范围内获取一周中的每一天?,php,date,schedule,dayofweek,Php,Date,Schedule,Dayofweek,这给了我日期范围内的每周一日期 问题:如何获得每周的周一和周五? $start_date = date('Y-m-d'); $end_date = date('Y-m-d', strtotime($start_date . ' + 1 MONTH')); for( $i = strtotime('Monday', strtotime($start_date)); $i <= strtotime($end_date); $i = strtotime('+1 WE

这给了我日期范围内的每周一日期

问题:如何获得每周的周一和周五?

$start_date = date('Y-m-d');
$end_date = date('Y-m-d', strtotime($start_date . ' + 1 MONTH'));

for(
    $i = strtotime('Monday', strtotime($start_date)); 
    $i <= strtotime($end_date); 
    $i = strtotime('+1 WEEK', $i)
) {
    echo date('Y-m-d', $i). '<br>';
}
$start_date=date('Y-m-d');
$end_date=日期('Y-m-d',标准时间('start_date.'+1个月');
为了(
$i=标准时间('星期一',标准时间('开始日期));

$i看看名为“PHP5.3+的日期/日历递归库”的库

比如说下个月的MF计划:

$now = new DateTime('NOW');
$till = clone $now;
$till->modify('+1 month');

$r = new When();
$r->startDate($now)
  ->freq("weekly")
  ->until($till)
  ->byday(array('MO', 'FR'))
  ->generateOccurrences();

$occurrences = $r->occurrences;

如果我没有错,您可以简单地使用
for
循环

$start = "2015-09-01";
$end = date('Y-m-d',  strtotime("$start +1 months"));
$period = floor((strtotime($end) - strtotime($start))/(24*60*60));

for($i = 0; $i < $period; $i++){
    if(in_array(date('l',strtotime("$start +$i day")),["Monday","Friday"]))
        echo date('l d M, Y',strtotime("$start +$i day"))."\n";
}

星期一和星期五之间只有这么多秒。您可以循环所有天,比较
date(“N”)的值
(1是星期一)您的期望值是多少output@Uchiha日期范围内的每周一/周五日期(开始/结束日期)
$start = "2015-09-01";
$end = date('Y-m-d',  strtotime("$start +1 months"));
$period = floor((strtotime($end) - strtotime($start))/(24*60*60));

for($i = 0; $i < $period; $i++){
    if(in_array(date('l',strtotime("$start +$i day")),["Monday","Friday"]))
        echo date('l d M, Y',strtotime("$start +$i day"))."\n";
}
Friday 04 Sep, 2015
Monday 07 Sep, 2015
Friday 11 Sep, 2015
Monday 14 Sep, 2015
Friday 18 Sep, 2015
Monday 21 Sep, 2015
Friday 25 Sep, 2015
Monday 28 Sep, 2015