2017-02-15 4 views
0

Как получить все повторяющиеся даты для выбранной недели?PHP Получайте повторяющиеся даты для определенного рабочего дня

Например, сегодня среда 15/02/2017, и если я выбираю Thursday как получить следующие 5 дат, начиная со следующего четверга, как:

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

Если я выбираю вторник, получить даты запуска 21/02/2017, который следующий вторник

+0

Вы должны смотреть в использовании \ объектов DateTime и 'add' метода с использованием \ DateInterval одной недели. – mickadoo

ответ

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

Посмотрите на 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'); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^