我正在尝试在我的代码中验证像17-JAN-1985这样的日期。
这是我正在使用的功能:
title
这将始终返回false:content
我做错了吗?
由于
答案 0 :(得分:2)
用于阅读(解析)日期的格式字符串看起来应该是'd-M-Y'
,而不是' DD-M-YY'。当你比较时,你需要大写双方,因为PHP将生成" Jan"而不是" JAN"。此外,你忘记了返回值。
这是完全有效的代码:
function fncDate($date){
$d = DateTime::createFromFormat('d-M-Y', $date);
$result = $d && strtoupper($d->format('d-M-Y')) == strtoupper($date);
if(!$result){
return "Date should be in the following format: DD-MMM-YYYY";.
}
return $result;
}
答案 1 :(得分:0)
试试这个:
function fncDate($date)
{
$date = date_create($date);
$date1= date_format($date, 'Y-m-d ');
$result = $date1 && $date1 == $date;
if(!$result)
{
echo "Date should be in the following format: DD-MMM-YYYY";
}
else
{
echo "Ok";
}
}