[PHP] Jak wypisać wszystkie dni istniejące między określonymi datami ?

przez | 10 października, 2013

Wypisanie wszystkich dni pomiędzy określonymi datami jest operacją dość prostą i nie powinna nikomu przysporzyć większych problemów. Wymagana jest jedynie znajomość funkcji date oraz strtotime, które operują na datach. Pierwsza formatuje wyświetlane daty zaś druga konwertuje daty do znacznika czasu.

Przykładowy skrypt realizujący nasze zadanie może wyglądać następująco:

//data początkowa
$data_poczatkowa = '2009-01-01';
//data końcowa
$data_koncowa = '2009-04-05';

//wyświetlenie informacji nagłówkowej
echo '<h1>Daty z zakresu: ' . $data_poczatkowa . ' do ' . 
     $data_koncowa . '</h1>';

//przypisanie znaczników czasu do zmiennych
$t_wskaznik = strtotime($data_poczatkowa);
$t_data_koncowa = strtotime($data_koncowa);

//sprawdzenie czy wskaźnik wskazuje na datę wcześniejszą 
//lub taką samą jak data końcowa
while($t_wskaznik <= $t_data_koncowa) 
{
    //wyświetlenie daty ze wskaźnika
    echo date('Y-m-d', $t_wskaznik).'<br />';

    //przesunięcie wskaźnika na kolejny dzień
    $t_wskaznik = strtotime('+1 day', $t_wskaznik);
}

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *