2017-02-15 4 views
0

Wie bekomme ich alle wiederkehrenden Daten für ausgewählte Woche des Tages?PHP Erhalten Sie wiederkehrende Daten für bestimmte Wochentage

Zum Beispiel ist heute Mittwoch 15/02/2017 und wenn ich wählen Thursday wie wie nächsten 5 Tage, beginnend am kommenden Donnerstag bekommen:

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

Wenn ich Dienstag entscheiden, erhalten Daten 21/02 Start/2017, die nächsten Dienstag ist

+0

Sie in mit \ Datetime-Objekte und die 'add' Verfahren unter Verwendung einer \ DateInterval von einer Woche aussehen sollte. – mickadoo

Antwort

2

Sie können strtotime verwenden, um Zeitstempel für diese Daten zu generieren, die date Funktion kann tatsächliche Daten generieren.

<?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

Werfen Sie einen Blick auf this post

diese Idee verwenden:

//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'); 
} 
Verwandte Themen