public function isValidDate($y, $m, $d)
{
if ($this->isLeapYear($y)) {
$marr =& self::$_month_leaf;
} else {
$marr =& self::$_month_normal;
}
if ($m > 12 || $m < 1) {
return false;
}
if ($d > 31 || $d < 1) {
return false;
}
if ($marr[$m] < $d) {
return false;
}
if ($y < 1000 && $y > 3000) {
return false;
}
return true;
}