DEV Community

Cover image for Date Analysis Using date_parse() and date_parse_from_format() Functions
Maico Orazio
Maico Orazio

Posted on

Date Analysis Using date_parse() and date_parse_from_format() Functions

The date_parse() function is used to obtain detailed information about a specific date.

This function returns an associative array containing more details about the parsed date, or it returns false in case of an error. It accepts a single argument specifying the date in a format accepted by the strtotime() function.

$date_parsed = date_parse('2023-06-22T07:30:09+01:00');
print_r($date_parsed);
Enter fullscreen mode Exit fullscreen mode

The example given above returns the following information:

Array
(
    [year] => 2023
    [month] => 6
    [day] => 22
    [hour] => 7
    [minute] => 30
    [second] => 9
    [fraction] => 0
    [warning_count] => 0
    [warnings] => Array
        (
        )

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

    [is_localtime] => 1
    [zone_type] => 1
    [zone] => 3600
    [is_dst] => 
)
Enter fullscreen mode Exit fullscreen mode

We can perform date analysis starting from a specific format.

The date_parse_from_format() function is used to obtain detailed information about the specified date based on the specified format.

The date_parse_from_format() function accepts, as its first argument, a string representing the format and then the date. It returns, like date_parse(), an associative array of detailed information about the date in the specified format, or it returns false in case of an error.

$date_parsed = date_parse_from_format('d/m/Y H:i:s T', '22/06/2023 07:30:09 Europe/Rome');
print_r($date_parsed);
Enter fullscreen mode Exit fullscreen mode

The example given above returns the following information:

Array
(
    [year] => 2023
    [month] => 6
    [day] => 22
    [hour] => 7
    [minute] => 30
    [second] => 9
    [fraction] => 0
    [warning_count] => 0
    [warnings] => Array
        (
        )

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

    [is_localtime] => 1
    [zone_type] => 3
    [tz_id] => Europe/Rome
)
Enter fullscreen mode Exit fullscreen mode

If we try to specify an incorrect format, we get an incorrect result where the related errors are also listed in errors.

$date_parsed = date_parse_from_format('Y-m-d H:i:s T', '22/06/2023 07:30:09 Europe/Rome');
print_r($date_parsed);
Enter fullscreen mode Exit fullscreen mode
Array
(
    [year] => 22
    [month] => 6
    [day] => 20
    [hour] => 23
    [minute] => 7
    [second] => 30
    [fraction] => 0
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 8
    [errors] => Array
        (
            [2] => Unexpected data found.
            [5] => Unexpected data found.
            [10] => Unexpected data found.
            [16] => Trailing data
        )

    [is_localtime] => 1
    [zone_type] => 0
)
Enter fullscreen mode Exit fullscreen mode

Good work 👨‍💻

Reinvent your career. Join DEV.

It takes one minute and is worth it for your career.

Get started

Top comments (0)

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay