【问题标题】:How to filter date 0000-00-00 00:00:00 If user did not enter in my form如何过滤日期 0000-00-00 00:00:00 如果用户没有在我的表单中输入
【发布时间】:2020-10-26 14:42:28
【问题描述】:

如果用户没有输入日期,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));
    }
}

}

【问题讨论】:

    标签: php mysql date strtotime


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,

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

      【讨论】:

      • 如果没有在表格中输入日期,它将是当前日期,这不是我的要求
      猜你喜欢
      • 1970-01-01
      • 2013-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      • 2013-07-12
      • 2018-07-31
      • 2015-07-19
      相关资源
      最近更新 更多