Ein Tipp: Speicher dein als UNIX-Timestamp.
Sprich: Du hast eine Zahl mit ca. 10 Stellen, die die Zeit in Sekunden seit dem 1.1.1970 wiedergibt.
mit getdate() kannst du dir aus der Zahl dann ganz einfach deine benötigten Elemente raus extrahieren. z.B. Wochentag, Monatstag, Monat, Jahr, Sekunde, Minute, Stunde und noch mehr.
Geht um einiges einfach zum Speichern (du brauchst nur ein int-Feld in der DB) und ist einfach handzuhaben weil du dir alle Formate "zusammenbasteln" kannst.
Und dann dürfte es auch nicht mehr schwer sein die einzelnen Elemente zu vergleichen, weil du als Monatstag einfach z.B. eine 3 hast so dass die Sachen wunderbar einfach miteinander verglichen werden können.
Beispiel:
$time = time(); //gibt den timestampt zurück
$time_array = get_date($time);
$monatstag = $time_array[day];
Irgend wie so ähnlich gehts, hab die genaue Syntax nicht im Kopf.
Schau einfach ins Manual, da stehts ausführlich drin.