# DateTimeImmutable::getLastErrors

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::getLastErrors — Returns the warnings and errors

### 说明

public static DateTimeImmutable::getLastErrors(): array|false

Returns an array of warnings and errors found while parsing a date/time string.

### 参数

此函数没有参数。

### 返回值

Returns array containing info about warnings and errors, or `false` if there are neither warnings nor errors.

### 更新日志

版本 | 说明
--- | ---
8.2.0 | Before PHP 8.2.0, this function did not return `false` when there were no warnings or errors. Instead, it would always return the documented array structure.

### 示例

示例 #1 DateTimeImmutable::getLastErrors() example

`<?php
try {
$date = new DateTimeImmutable('asdfasdf');
} catch (Exception $e) {
// For demonstration purposes only...
print_r(DateTimeImmutable::getLastErrors());
// The real object-oriented way to do this is
echo $e->getMessage();
}
?>`

以上示例会输出：

    Array
    (
        [warning_count] => 1
        [warnings] => Array
            (
                [6] => Double timezone specification
            )

        [error_count] => 1
        [errors] => Array
            (
                [0] => The timezone could not be found in the database
            )
    )
    Failed to parse time string (asdfasdf) at position 0 (a): The timezone could not be found in the database

The indexes 6, and 0 in the example output refer to the character index in the string where the error occurred.

示例 #2 Detecting rolled over dates

`<?php
$date = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-02-30');
print_r(DateTimeImmutable::getLastErrors());`

以上示例会输出：

    Array
    (
        [warning_count] => 1
        [warnings] => Array
            (
                [10] => The parsed date was invalid
            )

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open