提问者:小点点

如果用户没有在我的表单中输入日期0000-00-0000:00:00,如何筛选


如果用户没有输入日期,MySQL将插入0000-00-00 00:00:00。 如果日期是0000-00-00 00:00:00,我不想在文本框中显示日期

我在codeigniter中使用这个帮助程序

function dateTimeHelp($date, $mysqlDatetime = true) {
if (strtotime($date) === false)
    return null;
else {
    if ($mysqlDatetime) {
        return date('Y-m-d H:i:s', strtotime($date));
    } else {
        return date('d-m-Y H:i:s', strtotime($date));
    }
}

}

共3个答案

匿名用户

多种方式,我假设调用此函数以显示在您的窗体中。 只需检查0000-00-00 00:00:00:

if ($date == '0000-00-00 00:00:00' || strtotime($date) === false)
    return null;

匿名用户

如果您将MySQL列更改为not null并添加默认值作为当前时间戳,该怎么办?

created_at DATETIME非空默认CURRENT_TIMESTAMP,

使用这将意味着不需要代码,并且当表单提交时,它将使用它被放入数据库的日期和时间

匿名用户

Change date to strtotime()

$date = strtotime($date);
if($date == 0)
{
    return null;
}