PHP获取特定工作日的重复日期

时间:2017-02-15 15:46:08

标签: php date

如何获取当天所选周的所有经常性日期?

例如,今天是2017年2月15日星期三,如果我选择Thursday如何从下周四开始接下来的5个日期,如:

$dates = array(
[0] => "16/02/2017",
[1] => "23/02/2017",
[2] => "02/03/2017",
[3] => "09/03/2017",
[4] => "16/03/2017");

如果我选择星期二,请从2017年2月21日开始,即下周二

2 个答案:

答案 0 :(得分:2)

您可以使用strtotime为此日期生成时间戳,date函数可以生成实际日期。

<?php

    // Array for dates
    $dates = [];

    // Get next thursday
    $date = strtotime('thursday');
    $dates[] = $date;

    // Get the next four
    for ($i = 0; $i < 4; $i++)
    {
        $date = strtotime('+1 week', $date);
        $dates[] = $date;
    }

    // Echo dates
    foreach ($dates as $date)
        echo date('Y-m-d', $date);

答案 1 :(得分:1)

查看this post

使用这个想法:

//Get First Thursday
$date = new DateTime();
$date->modify('next thursday');

echo "<br/>Starting Thursday: " . $date->format('d/m/Y');

//Loop over next 4 Thursdays
for($i = 2; $i <= 5; $i++)
{
    $date->modify('+7 days');
    echo "<br/>Thursday " . $i . ": " . $date->format('d/m/Y');
}