防止PHP date()默认为12/31/1969

Joe*_*Bob 10 php default date

我正在使用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)


MAN*_*UCK 2

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)