2015-06-23 3 views
-2

Оксенгендлер вот что Я делаю:PHP datetime createFromFormat терпит неудачу. Зачем?

$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'); 
} 

^он всегда терпит неудачу. Зачем? Что я делаю не так?

+2

Возможно, потому что вам не нужно спамить 4 раза или 2x м всего 1 раз?! – Rizier123

ответ

1

Судя по documentation, вы хотите:

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

Обратите внимание, что Y является «4 цифры года», m является «нулевой проложенный месяц», d является «нулевой проложенный день», и g является «нулевой час». По общему признанию, довольно странно видеть нулевой час и обозначение AM/PM. Если вы также хотите обработать «6:01 утра», вы хотели бы вернуться к h вместо i.

+0

Дикий Джон Скит за пределами своей естественной среды обитания, отвечая на вопрос PHP :) (Хорошее объяснение символов одного формата) – Rizier123

+0

@ Rizier123 Он пытается получить свой золотой значок на PHP: P – Machavity

+0

ahh thanks. Я должен был проверить документы форматирования. – Dannyboy