This is the procedural version of DateTime::__construct() .
Unlike the DateTime constructor, it will return
false
instead of an exception if the passed in
datetime
string is invalid.
Returns a new DateTime instance or false
on failure
If $datetime value is `null`, empty string, or whitespace(s), it will default to the current datetime or 'now'.
<?php
$date = null; // or '' or ' '
var_dump(date_create($date));
?>
returns
<?php
object(DateTime)#1 (3) {
["date"]=>
string(26) "2025-07-29 00:59:02.992777"
["timezone_type"]=>
int(3)
["timezone"]=>
string(3) "UTC"
}
?>