Daten sind ja nichts anderes als Unix-Timestamps. Wenn das Datum im englischen Format übergeben wird, kannst du
strtotime benutzen um es zu prüfen, ansonsten musst du das Datum halt von Hand auseinandernehmen und mit
mktime überprüfen.
Naja und damit es nicht zu weit in der Zukunft liegt machst du halt die aktuelle Timestamp + die Anzahl der Sekunden die du maximal in die Zukufnt zualssen möchtest und guckst ob die eingegebene Timestamp darunter liegt.