无法验证日期


unable to validate date

我正在尝试验证日期,这是在1996 &出生日期是1900年。日期格式也要正确

但是下面这个函数给我的输出总是false。我做错了什么?

 function validateDate($date) {
        $this->load->helper('date');
        $datestring1 = "%Y-%m-%d";
        $date1 = "1996-01-01";
          $date2 = "1990-01-01";
        $d = DateTime::createFromFormat('Y-m-d', $date);
        return $d && $d->format('Y-m-d') == $date && $date > $date2 && $date < $date1;
    }

我不知道你的函数出了什么问题,但这应该可以工作

function validate($date){
    $d = DateTime::createFromFormat('Y-m-d', $date);
    if($d === false) return false;
    $y = intval($d->format('Y'));
    return $y >= 1990 && $y < 1996;
}

如果你想要1988-07-25是一个有效的条目(如你的截图所示),你的"date2"应该是"1980"或更早的东西,而不是"1990"

你可以试试这个

function validation($date){ //yyyy-mm-dd
    $date_element = explode('-', $date);
    if(is_array($date_element) and isset($date_element[0]) and ($date_element[0] >= 1990 and $date_element[0] <= 1996)){
        return true;
    }
    return false;
}