日期检查是任何系统的必备功能。我想介绍一下如何立即用 PHP 检查日期。
日期格式检查
用PHP查看日期的方法主要分为两步。
首先,检查日期格式。日期格式检查是“YYYY-MM-DD”或“YYYY/MM/DD”等格式检查。
有很多方法可以做到这一点,但我认为最好使用正则表达式进行检查。
if(!preg_match('/^[1-9]{1}[0-9]{0,3}\/[0-9]{1,2}\/[0-9]{1,2}$/', $date))
{
return false;
}
上面的示例允许“YYYY/MM/DD”格式的“1/0/0”到“9999/99/99”的值。
你很快就会注意到这里的 0/0 和 99/99 并不存在。为了保存它,需要下一步,即日期的存在性检查。
日期存在检查
日期的存在检查是使用 PHP 函数完成的:“checkdate”。
list($y, $m, $d) = explode('/', $date);
if(!checkdate($m, $d, $y))
{
return false;
}
请注意,“checkdate”函数具有西方日期表示法格式,因此它的格式为“月、日、年”,而不是日本的“年、月、日”。
使用 PHP 进行日期检查 (YYYY / mm / dd)
在实际项目中,年份固定为4位数、月份、日期的情况很多,比如“2013/01/02”,这里就一并提供。具体还是要根据需求来修改。
function isYmd($date){
//如果没有输入,则通过
if ($date == '') {
return true;
}
//19xx和20xx有效,这里只控制月份和日期的位数,//通过下面的checkdate函数进行存在性检查。
if(!preg_match('/^(19|20)[0-9]{2}\/\d{2}\/\d{2}$/', $date)){
return false;
}
list($y, $m, $d) = explode('/', $date);
if(!checkdate($m, $d, $y)){
return false;
}
return true;
}