- var_dump: documentation ( source)
- preg_match: documentation ( source)
<?php
$dateTimeExample = new DateTime('2009-01-05');
$dateTimes =
[
$dateTimeExample->format('Y-m-d H:i:s'),
$dateTimeExample->format('c'),
$dateTimeExample->format('Y-m-d')
];
foreach($dateTimes as $datetime){
preg_match('~(?<date>\d{4}-\d{2}-\d{2})[\s|T](?<time>\d{2}:\d{2}:\d{2})?(?<timezone>[\+|-]\d{2}:\d{2})?~', $dateTime, $matches);
$matches['time'] = array_key_exists('time', $matches) ? $matches['time'] : '00:00:00';
var_dump($matches);
}
//$dateTime = sprintf('%s %s %s', $matches['date'], $matches['time'], $matches['datetime']);
//$bla = \DateTime::createFromFormat('Y-m-d H:i:s', $dateTime);
//var_dump($bla);