2

php DateTime オブジェクトが無効な日付入力のエラーを出さないのはなぜですか? 例えば、

$date_test = '13-10-31';

$datetime = new DateTime();
$date = $datetime->createFromFormat('Y-m-d', $date_test);
$date_errors = $datetime->getLastErrors();
print_r($date_errors);

結果、

Array
(
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

)

日付形式を yyyy-mm-dd である「Ymd」に設定したので、「13-10-31」はエラー入力ではないでしょうか?

編集

この行$datetime->createFromFormat('Y-m-d', $date_test);

$datetime->createFromFormat('YY-m-d', $date_test);

何を入力してもエラーになります。例えば、

$date_test = '2013-10-31';

結果、

Array
(
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 2
    [errors] => Array
        (
            [4] => Unexpected data found.
            [10] => Data missing
        )

)

どうして!??

4

3 に答える 3