format = $format; } public function validate($input) { if (is_string($input)) { $date = DateTime::createFromFormat($this->format, $input); } elseif ($input instanceof DateTime) { $date = $input; } else { return false; } // Dates that aren't leap will aways be rounded return $date->format('m-d') == '02-29'; } }