如何在创建DateTime对象时阻止PHP崩溃?
$in = new DateTime($in);
$out = new DateTime($out);
Run Code Online (Sandbox Code Playgroud)
$in而$out这两个来自一个表格,以便他们可以是任何东西.我强制用户使用日历并使用javascript将其阻止为日期.如果用户可以绕过此检查怎么办?
如果$in = "anything else other than a date"PHP将崩溃并阻止整个页面的呈现.
如何防止这种情况,以及return(0)PHP无法解析日期?
fai*_*ino 17
查看文档DateTime(),这里有一个小片段:
<?php
try {
$date = new DateTime('2000-01-01');
} catch (Exception $e) {
echo $e->getMessage();
exit(1);
}
echo $date->format('Y-m-d');
?>
Run Code Online (Sandbox Code Playgroud)
PHP手册DateTime :: __ construct()
strtotime()如果格式不好,将返回 false,因此这应该捕获错误的格式。
if (strtotime($in) === false)
{
// bad format
}
Run Code Online (Sandbox Code Playgroud)