[PHP] jak porównywać 2 zakresy dat

Witam,

mam taki problem:

mam dwa zakresy dat od - do.

Jak za pomocą php porównywać dwa zakresy dat - każdy z każdym - ale tylko dzień i miesiąc z pominięciem roku.

Nie bardzo wiem jaki chcesz ustalić porządek, porównuje się coś z reguły, aby ustalić co jest mniejsze, co równe, a co większe. Przykładowo, można ustalić, że zakresem najmniejszym jest ten który rozpoczął się najwcześniej, albo trwał najkrócej.

EDIT

Dodatkowo podaj format w jakim masz zapisaną datę, może pomogę.

Chcę sprawdzać czy data z zakresu x znajduje się w zakresie y ale z pominięciem roku

Przykład

zakres x1 np od 1 stycznia do 30 czerwca

x2 od 1lipca do 31grudnia

i teraz dowolną datę z dowolnego zakresu y sprawdzamy czy należy do x1 czy x2

obecnie datę mam w formacie rrrr-mm-dd

zamien sobie to na liczby, proste?

data_od =< twoja_data =< data_do

Napisałeś to tak zawile, że bardziej chyba się nie dało mam nadzieję, że dobrze zrozumiałem.

#Pierwszy zakres

$startRange1 = '1992-01-01';

$endRange1 = '1992-06-30';

#Drugi zakres

$startRange2 = '1993-07-01'

$endRange2 = '1993-12-31';

#Szukana data

$compareDate = '1994-05-12';

#Rozbijamy po myślniku na tablice

$startRange1 = explode('-', $startRange1);

$endRange1 = explode('-', $endRange1);

$compareDate = explode('-', $compareDate);

#Sprawdzamy czy szukany miesiąc znajduje się pomiędzy miesiącami z zakresu oraz czy szukany dzień znajduje się pomiędzy dniami z zakresu

if($compareDate[1] >= $startRange1[1] && $compareDate[1] <= $endRange1[1] && $compareDate[2] >= $startRange1[2] && $compareDate[2] <= $endRange1[2])

{

     echo 'Data należy do pierwszego zakresu.';

}

if($compareDate[1] >= $startRange2[1] && $compareDate[1] <= $endRange2[1] && $compareDate[2] >= $startRange2[2] && $compareDate[2] <= $endRange2[2])

{

     echo 'Data należy do drugiego zakresu.';

}

Mniej więcej coś takiego.