The date_parse_from_format() function accepts a format string and a date string as parameters and, returns information about the given date in the specified format.
date_parse($date)
Sr.No | Parameter & Description |
---|---|
1 |
format(Mandatory) This is a string value representing the format in which you need to format the info about the date. |
2 |
date(Mandatory) This is a string value representing the date for which you need the information about. |
PHP date_create_from_format() function returns array holding the information about the given date in the specified format.
This function was first introduced in PHP Version 5.3.0 and, works with all the later versions.
Following example demonstrates the usage of the date_parse_from_format() function −
<?php //Creating a DateTime object $date = "25-Mar-1989"; $format = "d-M-Y"; $res = date_parse_from_format($format, $date); print_r($res); ?>
This will produce following result −
Array ( [year] => 1989 [month] => 3 [day] => 25 [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => )
Let us see different formats to parse a date −
<?php $res1 = date_parse_from_format("j.n.Y", "25.8.2014"); print_r($res1); $res2 = date_parse_from_format("y-d-m", "2014-25-8"); print_r($res2); $res3 = date_parse_from_format("n/j/y", "8/25/2014"); print_r($res3); $res4 = date_parse_from_format("D.M.Y", "25.8.2014"); print_r($res4); $res5 = date_parse_from_format("H/i/s", "12/32/25"); print_r($res5); ?>
This will produce following result −
Array ( [year] => 2014 [month] => 8 [day] => 25 [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => ) Array ( [year] => 2020 [month] => 25 [day] => 14 [hour] => [minute] => [second] => [fraction] => [warning_count] => 1 [warnings] => Array ( [7] => The parsed date was invalid ) [error_count] => 2 [errors] => Array ( [2] => The separation symbol could not be found [7] => Trailing data ) [is_localtime] => ) Array ( [year] => 2020 [month] => 8 [day] => 25 [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 1 [errors] => Array ( [7] => Trailing data ) [is_localtime] => ) Array ( [year] => 8 [month] => [day] => [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 4 [errors] => Array ( [0] => A textual day could not be found [3] => The separation symbol could not be found [4] => Trailing data ) [is_localtime] => ) Array ( [year] => [month] => [day] => [hour] => 12 [minute] => 32 [second] => 25 [fraction] => 0 [warning_count] => 0 [warnings] => Array ( ) [error_count] => 0 [errors] => Array ( ) [is_localtime] => )
Following example demonstrates date_parse_from_format() with relative formats −
<?php print_r(date_parse_from_format("Y-m-d", "2009-18-18-+52 week +25 hour")); print("\n"); print_r(date_parse_from_format("Y-m-d", "1990-06-06 +52 week +25 hour")); ?>
This will produce the following output −
Array ( [year] => 2009 [month] => 18 [day] => 18 [hour] => [minute] => [second] => [fraction] => [warning_count] => 1 [warnings] => Array ( [10] => The parsed date was invalid ) [error_count] => 1 [errors] => Array ( [10] => Trailing data ) [is_localtime] => ) Array ( [year] => 1990 [month] => 6 [day] => 6 [hour] => [minute] => [second] => [fraction] => [warning_count] => 0 [warnings] => Array ( ) [error_count] => 1 [errors] => Array ( [10] => Trailing data ) [is_localtime] => )