PHP: strtotime regresa falso para una fecha futura?

Aquí hay algunas expresiones de depuración que puse en eclipse, si no me crees:

"strtotime("2110-07-16 10:07:47")" = (boolean) false    
"strtotime("2110-07-16")" = (boolean) false 

Lo estoy usando en mi función que devuelve una fecha aleatoria entre las fechas de inicio y finalización:

public static function randomDate($start_date, $end_date, $format = DateTimeHelper::DATE_FORMAT_SQL_DATE)
    {
        if($start_date instanceof DateTime)     $start_date = $start_date->format(DateTimeHelper::DATE_FORMAT_YMDHMS);
        if($end_date instanceof DateTime)       $end_date   = $end_date->format(DateTimeHelper::DATE_FORMAT_YMDHMS);

        // Convert timetamps to millis
        $min = strtotime($start_date);
        $max = strtotime($end_date);

        // Generate random number using above bounds
        $val = rand($min, $max);

        // Convert back to desired date format
        return date($format, $val);
    }

¿Alguna idea de cómo hacer que devuelva el tiempo correcto de Unix para una fecha futura?

¡Gracias!

Respuestas a la pregunta(5)

Su respuesta a la pregunta