PHP | DateTime createFromFormat() Function - GeeksforGeeks

10 Oct, 2019
The DateTime::createFromFormat()function is an inbuilt function in PHP which returns a new DateTime object representing the date and time format.
Syntax:
Object oriented style:DateTime DateTime::createFromFormat( string $format, 
                                    string $time, DateTimeZone $timezone )
DateTime DateTime::createFromFormat( string $format, 
                                    string $time, DateTimeZone $timezone )
Procedural style:DateTime date_create_from_format( string $format, 
                                    string $time, DateTimeZone $timezone )
DateTime date_create_from_format( string $format, 
                                    string $time, DateTimeZone $timezone )
Parameters: This function uses three parameters as mentioned above and described below:
$format: It is a required parameters which is used to specify the date format. The following parameters string are used in format.Day:d and j: It describes the day of the month. It contains two digits with or without leading zeros.D and l: A textual representation of a day.S: English ordinal suffix for the day of the month, 2 characters. It is ignored while processing.z: The day of the year (starting from 0)Month:F and M: A textual representation of a month, such as January or Septm and n: Numeric representation of a month, with or without leading zerosYear:Y: A full numeric representation of a year, 4 digitsy: A two digit representation of a year (which is assumed to be in the range 1970-2069, inclusive)Time:a and A: Ante meridiem and Post meridiemg and h: 12-hour format of an hour with or without leading zeroG and H: 24-hour format of an hour with or without leading zerosi: Minutes with leading zeross: Seconds, with leading zerosu: Microseconds (up to six digits)Timezone:e, O, P and T: Timezone identifier, or difference to UTC in hours, or difference to UTC with colon between hours and minutes, or timezone abbreviationFull Date/Time:U: Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)Whitespace and Separators:(space): One space or one tab#: One of the following separation symbol: ;, :, /, .,,, -, ( or );, :, /, .,,, -, ( or ): The specified character.?: A random byte*: Random bytes until the next separator or digit!: Resets all fields (year, month, day, hour, minute, second, fraction and timezone information) to the Unix Epoch|: Resets all fields (year, month, day, hour, minute, second, fraction and timezone information) to the Unix Epoch if they have not been parsed yet+: If this format specifier is present, trailing data in the string will not cause an error, but a warning instead
Day:d and j: It describes the day of the month. It contains two digits with or without leading zeros.D and l: A textual representation of a day.S: English ordinal suffix for the day of the month, 2 characters. It is ignored while processing.z: The day of the year (starting from 0)Month:F and M: A textual representation of a month, such as January or Septm and n: Numeric representation of a month, with or without leading zerosYear:Y: A full numeric representation of a year, 4 digitsy: A two digit representation of a year (which is assumed to be in the range 1970-2069, inclusive)Time:a and A: Ante meridiem and Post meridiemg and h: 12-hour format of an hour with or without leading zeroG and H: 24-hour format of an hour with or without leading zerosi: Minutes with leading zeross: Seconds, with leading zerosu: Microseconds (up to six digits)Timezone:e, O, P and T: Timezone identifier, or difference to UTC in hours, or difference to UTC with colon between hours and minutes, or timezone abbreviationFull Date/Time:U: Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)Whitespace and Separators:(space): One space or one tab#: One of the following separation symbol: ;, :, /, .,,, -, ( or );, :, /, .,,, -, ( or ): The specified character.?: A random byte*: Random bytes until the next separator or digit!: Resets all fields (year, month, day, hour, minute, second, fraction and timezone information) to the Unix Epoch|: Resets all fields (year, month, day, hour, minute, second, fraction and timezone information) to the Unix Epoch if they have not been parsed yet+: If this format specifier is present, trailing data in the string will not cause an error, but a warning instead
Day:d and j: It describes the day of the month. It contains two digits with or without leading zeros.D and l: A textual representation of a day.S: English ordinal suffix for the day of the month, 2 characters. It is ignored while processing.z: The day of the year (starting from 0)
d and j: It describes the day of the month. It contains two digits with or without leading zeros.
D and l: A textual representation of a day.
S: English ordinal suffix for the day of the month, 2 characters. It is ignored while processing.
z: The day of the year (starting from 0)
Month:F and M: A textual representation of a month, such as January or Septm and n: Numeric representation of a month, with or without leading zeros
F and M: A textual representation of a month, such as January or Sept
m and n: Numeric representation of a month, with or without leading zeros
Year:Y: A full numeric representation of a year, 4 digitsy: A two digit representation of a year (which is assumed to be in the range 1970-2069, inclusive)
Y: A full numeric representation of a year, 4 digits
y: A two digit representation of a year (which is assumed to be in the range 1970-2069, inclusive)
Time:a and A: Ante meridiem and Post meridiemg and h: 12-hour format of an hour with or without leading zeroG and H: 24-hour format of an hour with or without leading zerosi: Minutes with leading zeross: Seconds, with leading zerosu: Microseconds (up to six digits)
a and A: Ante meridiem and Post meridiem
g and h: 12-hour format of an hour with or without leading zero
G and H: 24-hour format of an hour with or without leading zeros
i: Minutes with leading zeros
s: Seconds, with leading zeros
u: Microseconds (up to six digits)
Timezone:e, O, P and T: Timezone identifier, or difference to UTC in hours, or difference to UTC with colon between hours and minutes, or timezone abbreviation
e, O, P and T: Timezone identifier, or difference to UTC in hours, or difference to UTC with colon between hours and minutes, or timezone abbreviation
Full Date/Time:U: Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
U: Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
Whitespace and Separators:(space): One space or one tab#: One of the following separation symbol: ;, :, /, .,,, -, ( or );, :, /, .,,, -, ( or ): The specified character.?: A random byte*: Random bytes until the next separator or digit!: Resets all fields (year, month, day, hour, minute, second, fraction and timezone information) to the Unix Epoch|: Resets all fields (year, month, day, hour, minute, second, fraction and timezone information) to the Unix Epoch if they have not been parsed yet+: If this format specifier is present, trailing data in the string will not cause an error, but a warning instead
(space): One space or one tab
#: One of the following separation symbol: ;, :, /, .,,, -, ( or )
;, :, /, .,,, -, ( or ): The specified character.
?: A random byte
*: Random bytes until the next separator or digit
!: Resets all fields (year, month, day, hour, minute, second, fraction and timezone information) to the Unix Epoch
|: Resets all fields (year, month, day, hour, minute, second, fraction and timezone information) to the Unix Epoch if they have not been parsed yet
+: If this format specifier is present, trailing data in the string will not cause an error, but a warning instead
$time: This parameter holds the string which represents the time.
$timezone: This parameter holds the DateTimeZone object which represents the desired time zone.
Return Value: This function returns the new DateTime object on success or False on failure.
Below programs illustrate the DateTime::createFromFormat() function in PHP:
Program 1:
<?php  // Calling the DateTime:createFromFormat() function// with the format 'j-M-Y' and given DateTime is $datetime = DateTime::createFromFormat('j-M-Y', '30-September-2019');  // Getting the new formatted datetime echo $datetime->format('Y-m-d');?>
2019-09-30

Program 2:
<?php  // Calling the DateTime:createFromFormat() function// with the format 'j-M-Y' and given DateTime is $datetime = DateTime::createFromFormat('j-M-Y', '1-oct-2019');  // Getting the new formatted datetime echo $datetime->format('d-m-Y H:i:s');?>
01-10-2019 11:10:06

Reference: https://www.php.net/manual/en/datetime.createfromformat.php
PHP-date-time
PHP-function
PHP
Web Technologies
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Insert Form Data into Database using PHP ?
How to convert array to string in PHP ?
How to Upload Image into Database and Display it using PHP ?
How to receive JSON POST with PHP ?
How to pass JavaScript variables to PHP ?
Remove elements from a JavaScript Array
Installation of Node.js on Linux
Convert a string to an integer in JavaScript
How to fetch data from an API in ReactJS ?
Top 10 Projects For Beginners To Practice HTML and CSS Skills