如何在PHP中获取给定日期范围内的每个星期几? [英] How to get every specific days of week within given date range in PHP?

查看:55
本文介绍了如何在PHP中获取给定日期范围内的每个星期几?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这为我提供了日期范围内的每个星期一日期.

This give me every monday date in date range.

问题:如何获取每周的每个星期一和星期五?

$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>';
}

我的更新:

$my_dates = [];
for(
    $i = strtotime($start_date); 
    $i <= strtotime($end_date); 
    $i = strtotime('+1 DAY', $i)
) {
    if(in_array(date('N', $i), array(1, 5))) {
        $my_dates[] = date('Y-m-d', $i);
    }
}

var_dump($my_dates);

推荐答案

看看名为何时,它是适用于PHP 5.3+的日期/日历递归库" .

让我们说下个月的MF时间表:

Let's say MF schedule for next month:

$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;

这篇关于如何在PHP中获取给定日期范围内的每个星期几?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆