I had this construction error when trying to creating a new DateTime object using a timestamp:
Exception: DateTime::_construct(): Failed to parse
This worked for me.
/**
* return date in specific format, given a timestamp.
*
* @param timestamp $datetime
* @return string
*/
public static function showDateString($timestamp)
{
if ($timestamp !== NULL) {
$date = new DateTime();
$date->setTimestamp(intval($timestamp));
return $date->format("d-m-Y");
}
return '';
}
Use the createFromFormat
method:
$start_date = DateTime::createFromFormat("U", $dbResult->db_timestamp);
UPDATE
I now recommend the use of Carbon
$start_date = new DateTime();
$start_date->setTimestamp($dbResult->db_timestamp);
change your code to this
$start_date = new DateTime( "@" . $dbResult->db_timestamp );
and it will work fine
You should use setTimestamp instead, if you hardcode it:
$start_date = new DateTime();
$start_date->setTimestamp(1372622987);
in your case
$start_date = new DateTime();
$start_date->setTimestamp($dbResult->db_timestamp);