PHP | Converting string to Date and DateTime
Last Updated :
09 Jul, 2024
Converting the string to Date and DateTime uses several functions/methods like strtotime(), getDate(). We will see what these functions do.
strtotime()
This is basically a function which returns the number of seconds passed since Jan 1, 1970, just like a linux machine timestamp. It returns the number of seconds passed according to the parameter passed to the function.
Syntax
strtotime(parameter);
Parameter
Return Type
Returns the number of seconds passed since Jan 1, 1970.
getDate()
This function return the date/time information of the passed parameter(date/time);
Syntax
getDate(parameter);
Parameter
The parameter is optional as it takes the current local time as default parameter.
Return Type
It returns the information of the date, day, year, month etc in an array.
Code for converting a string to date
php
<?php
$time_input = strtotime("2011/05/21");
$date_input = getDate($time_input);
print_r($date_input);
?>
OutputArray
(
[seconds] => 0
[minutes] => 0
[hours] => 0
[mday] => 21
[wday] => 6
[mon] => 5
[year] => 2011
[yday] => 140
[weekday] => Saturday
[month] => May
[0] => 1305936000
)
Code for converting a string to dateTime
php
<?php
$input = '06/10/2011 19:00:02';
$date = strtotime($input);
echo date('d/M/Y h:i:s', $date);
?>
Output10/Jun/2011 07:00:02
Note1
We can use “D” in the place of “d” for getting the day in the output
php
<?php
$input = '05/10/2011 15:00:02';
$date = strtotime($input);
echo date('D/M/Y h:i:s', $date);
?>
OutputTue/May/2011 03:00:02
Note 2
We can use “H” in the place of “h” for getting the time in 24 Hour format in the output
php
<?php
$input = '05/10/2011 15:00:02';
$date = strtotime($input);
echo date('D/M/Y H:i:s', $date);
?>
OutputTue/May/2011 15:00:02
Method 3: Using DateTime::createFromFormat()
The DateTime::createFromFormat() method allows for more flexible and precise parsing of date and time strings into DateTime objects. It enables you to specify the exact format of the input string, making it useful for converting strings that don’t conform to standard date/time formats.
Syntax:
DateTime::createFromFormat(format, time, object)
Example:
PHP
<?php
// String to be converted to DateTime
$dateString = "2021-07-05 17:57:38";
// Specify the format of the input string
$format = 'Y-m-d H:i:s';
// Convert the string to a DateTime object
$dateTime = DateTime::createFromFormat($format, $dateString);
// Output the result
echo $dateTime->format('Y-m-d H:i:s');
?>
Output2021-07-05 17:57:38
PHP is a server-side scripting language designed specifically for web development. You can learn PHP from the ground up by following this PHP Tutorial and PHP Examples.