来自无效日期的PHP DateTime createFormat

时间:2014-01-30 19:21:42

标签: php datetime

您好我想从1989-06-31开始创建DateTime对象。正如您所看到的,这个日期有很多天(6月不能有31天)。但是打电话给这个

$semi_valid_date = "1989-06-31";
$semi_valid_datetime = DateTime::createFromFormat('Y-m-d',$semi_valid_date);
$valid_date = $semi_valid_datetime->format('Y-m-d');

将存储到$valid_date日期1989-07-01。

当月份有多天时,是否有可能抛出错误?

1 个答案:

答案 0 :(得分:1)

在尝试使用之前使用checkdate()验证日期:

var_dump(checkdate(6, 31, 1989));
// bool(false)

var_dump(checkdate(6, 30, 1989));
// bool(true)

See it in action