PHP - wyznaczanie daty najbliższej zmiany czasu

DZIAŁANIE: Dziś mamy : 18-5-2012
Ostatnia niedziele marca tego roku to : 25 marzec
Ostatnia niedziele października tego roku to : 28 październik
Ostatnia niedziele marca przyszłego roku to : 31 marzec
Najbliższa zmiana czasu nastąpi : w ostatnią niedziele października tego roku czyli 28 października
 

Kod:

Ewentualne Objaśnienia:

Oto rozwiązanie zadania, które spotkało mnie na laboratorium z języka PHP na studiach o treści : " Napisać stronę, wyświetlającą datę najbliższej zmiany czasu. Zasadę wyznaczania znaleźć na google. "

Zadanie byłoby banalne gdyby daty zmiany czasu były stałe - jednak tak nie jest bo są to ostatnia niedziela marca oraz października - więc trzeba najpierw dla naszego obecnego roku wyznaczyć te dwie daty oraz dla roku następnego ostatnią niedzielę jedynie marca .
Jest to bardzo proste - należy po prostu skorzystać z funkcji date - jako pierwszy parametr podajemy l ( l jak lody ), który jak wiecie zwraca angielską nazwę dnia tygodnia, drugi parametr to znacznik czasu, dla którego oczekujemy wyniku. I w ten sposób znajdujemy interesujące nas 3 daty. Wcześniej jak widać funkcja date posłużyła nam do określenia obecnej daty - parametr j to dzień bez zera na początku,  n to miesiąc bez zera a Y to rok - wszystkie 4 liczby .

Kiedy mamy już obecną datę oraz 3 interesujące nas daty wystarczy zrobić proste porównania i zależnie od wyniku czyli zmiennej $zmiana_czasu wyświetlamy rozwiązanie.