我正在使用PHP的MySQL数据库.我使用该DATETIME字段将我的日期值存储在数据库中.
我正在使用这个PHP代码将输入的日期转换为适当的MySQL格式.
date("Y-m-d H:i:s", strtotime($inputDate))
Run Code Online (Sandbox Code Playgroud)
但是,只要日期无效,它就会被放在数据库中 1969-12-31 19:00:00
有没有办法将其默认为0000-00-00 00:00:00?
Mar*_*iot 15
只要检测与有效的输出strtotime(),这将返回false失败.
就像是:
$time = strtotime($inputDate);
$date = ($time === false) ? '0000-00-00 00:00:00' : date('Y-m-d H:i:s', $time);
Run Code Online (Sandbox Code Playgroud)
strtotime 返回 false,日期值为 0。在此之前,您应该检查 strtotime 是否未返回 false 以防止出现这种情况:
$ts = strtotime($inputDate);
if ($ts === false)
{
//invalid date
}
else
{
echo date("Y-m-d H:i:s", $ts);
}
Run Code Online (Sandbox Code Playgroud)