无法验证日期

时间:2014-07-19 23:58:16

标签: php codeigniter

我正在尝试验证1996年至1996年之间的日期。 1900年出生日期。它也应该是正确的日期格式

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

 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;
    }

3 个答案:

答案 0 :(得分:0)

我不知道您的功能有什么问题,但这应该有效

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;
}

答案 1 :(得分:0)

如果您希望1988-07-25成为有效的条目(如屏幕截图所示),您的&#34; date2&#34;应该是&#34; 1980&#34;或更早的东西而不是&#34; 1990&#34;。

答案 2 :(得分:0)

你可以试试这个

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;
}