PHP Regex do sprawdzenia daty jest w formacie RRRR-MM-DD

Próbuję sprawdzić, czy daty wprowadzone przez użytkowników końcowych są w RRRR-MM-DD. Regex nigdy nie był moją mocną stroną, ciągle otrzymuję fałszywą wartość zwrotną dla preg_match (), którą mam ustawioną.

Zakładam więc, że zrobiłem bałagan w wyrażeniu regularnym, wyszczególnionym poniżej.

$date="2012-09-12";

if (preg_match("^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$",$date))
    {
        return true;
    }else{
        return false;
    }

jakieś pomysły?

questionAnswers(18)

yourAnswerToTheQuestion