PHP datetime createFromFormat fails. why?

Ok- here's what Im doing:

$dateString = "2015-06-12 06:01 am";
$dtUtc = new \DateTimeZone("UTC");
$dt = \DateTime::createFromFormat('yyyy-mm-dd h:i a', $dateString, $dtUtc);

if ($dt === false) {
    die('failed');
}

^ it always fails. why? what am I doing wrong?

Jon Skeet
people
quotationmark

Judging by the documentation, you want:

DateTime::createFromFormat('Y-m-d g:i a', $dateString, $dtUtc)

Note that Y is "4 digit year", m is "zero-padded month", d is "zero-padded day", and g is "zero-padded hour". Admittedly it's quite odd to see a zero-padded hour and an AM/PM designator. If you also want to handle "6:01 am" you would want to go back to h instead of i.

people

See more on this question at Stackoverflow