- var_dump: documentation ( source)
- preg_match: documentation ( source)
- sprintf: documentation ( source)
<?php
$dateTime = '2007-01-11 12:34:56';
preg_match('~(?<date>\d{4}-\d{2}-\d{2})\s?(?<time>\d{2}:\d{2}:\d{2})?~', $dateTime, $matches);
$matches['time'] = array_key_exists('time', $matches) ? $matches['time'] : '00:00:00';
$dateTime = sprintf('%s %s', $matches['date'], $matches['time']);
$bla = \DateTime::createFromFormat('Y-m-d H:i:s', $dateTime);
var_dump($bla);