从无效输入创建有效日期,例如2012-02-31

时间:2012-07-23 07:12:44

标签: php datetime

有没有办法强制php创建一个带有无效参数的DateTime对象,例如“2012-02-31”,而不将其更改为2012-03-02或类似的东西?

1 个答案:

答案 0 :(得分:1)

<?php
try {
    $date = new DateTime('2012-02-31'); // constuct with "impossible date"
} catch (Exception $e) {
    echo $e->getMessage();
    exit;
}

echo $date->format('Y-m-d'); // result: 2012-03-02
?>

创建具有“不可能日期”的DateTime - 对象不是问题(但它在输出上变成了“真实”日期)。 see it working on codepad