我正在尝试验证日期,这是在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;
}