3

我有一个表单,用户可以使用它来编辑自己的生日,我将生日以这种格式保存在数据库中15/24/1989,即 dd/mm/yyyy

如何检查表单生日帖子值的格式是否如图所示?

如果我通过 12/00/hello 怎么办?

我想我只需要数字,并且在日期范围内 01 > dd < 31, 01 > mm < 12, 1920 > yyyy < current_year –

4

2 回答 2

3
$date = date("d/m/Y", strtotime($this->input->post('date')));

要以这种格式验证日期,您应该使用此功能。

function checkDateFormat($date) {
    if (preg_match('/^\d{2}\/\d{2}\/\d{4}$/', $date)) {
        if(checkdate(substr($date, 3, 2), substr($date, 0, 2), substr($date, 6, 4)))
            return true;
        else
            return false;
    } else {
        return false;
    }
}

它将检查日期格式,并使用 PHPcheckdate()函数检查实际日期本身。

checkDateFormat("10/10/2010"); // true
checkDateFormat("29/02/2008"); // true
checkDateFormat("29/02/2007"); // false
checkDateFormat("10/10/20101"); // false
checkDateFormat("ilikecookie"); // false

等等

于 2012-09-19T09:15:22.733 回答
0

使用strtotime

date("d/m/Y", strtotime(this->input->post('date'))
于 2012-09-19T09:15:06.373 回答