PHP date_create_from_format Function: Syntax and Examples

If you need to create a PHP date object from a string with a non-standard format, you can use the date_create_from_format function. This function parses a date string according to a specified format and returns a DateTime object that represents the parsed date.

Syntax

The syntax of the date_create_from_format function is:

date_create_from_format ( string $format , string $time [, DateTimeZone $timezone ] ) : DateTime|false

The format parameter specifies the format of the date string, using the same format characters as the date function. For example, the format string "Y-m-d H:i:s" matches a date string like "2023-03-02 17:30:45".

The time parameter specifies the date string to parse.

The optional timezone parameter specifies the timezone of the parsed date. If not specified, the default timezone set by the date_default_timezone_set function will be used.

The function returns a DateTime object that represents the parsed date, or false if the date string could not be parsed.

Examples

Here are some examples of using the date_create_from_format function:

<?php

$date = date_create_from_format('Y-m-d H:i:s', '2023-03-02 17:30:45');
echo $date->format('Y-m-d H:i:s'); // Output: 2023-03-02 17:30:45

In this example, the date_create_from_format function parses the date string "2023-03-02 17:30:45" using the format string "Y-m-d H:i:s", and returns a DateTime object that represents the date. The format method is used to display the date in the same format as the input string.

<?php

$date = date_create_from_format('j-M-Y', '15-Feb-2023');
echo $date->format('Y-m-d'); // Output: 2023-02-15

In this example, the date_create_from_format function parses the date string "15-Feb-2023" using the format string "j-M-Y", and returns a DateTime object that represents the date. The format method is used to display the date in the format "Y-m-d", which is different from the input string.

Comparison with Other Date Functions

The date_create_from_format function is similar to the strtotime function, which also parses a date string according to a specified format. However, strtotime returns a Unix timestamp, which is an integer representing the number of seconds since January 1 1970 00:00:00 UTC, whereas date_create_from_format returns a DateTime object.

The date_parse_from_format function is another function that can parse a date string according to a specified format. However, date_parse_from_format returns an array that contains the components of the parsed date, such as year, month, day, hour, minute, and second, whereas date_create_from_format returns a DateTime object that encapsulates the parsed date.

Conclusion

In summary, the date_create_from_format function is a useful PHP function that can parse a date string according to a specified format and return a DateTime object that represents the parsed date. By using this function, you can convert non-standard date strings into standard date objects that can be manipulated and formatted using other PHP date functions.

Practice Your Knowledge

What does the date_create_from_format function in PHP do?

Quiz Time: Test Your Skills!

Ready to challenge what you've learned? Dive into our interactive quizzes for a deeper understanding and a fun way to reinforce your knowledge.

Do you find this helpful?