2015-08-28 2 views
0
  • Я изо всех сил пытаюсь преобразовать строку в дату.
  • Я повторил различные методы, упомянутые в StackOverflow, начиная с strtotime(), но так и не смог правильно разобрать его.
  • Ниже мой минимальный (не) рабочий пример моего последнего усилия на этот раз с использованием DateTime :: createFromFormat.Дата составления с помощью DateTime :: createFromFormat

    $date = DateTime::createFromFormat('d M Y H:i:s e', '16 Jul 2015 05:00:00 UT'); 
    

    var_dump($date); возвращает bool(false)

Может кто-то предложить, что я делаю неправильно отверстие я вытащил оставшиеся волосы с головы? ;-)

ответ

1

UT не является допустимым идентификатором часового пояса. Вы имели в виду UTC?

Это работает:

$date = DateTime::createFromFormat('d M Y H:i:s e', '16 Jul 2015 05:00:00 UTC');

+0

Большое спасибо David R. и Dse для вашего Комментарии. Оказалось, что rss, который я пытаюсь проанализировать, включает несовместимый часовой пояс UT (в отличие от UTC). 'str_replace (" UT "," UTC ", $ date);' решена проблема. Еще раз спасибо Дэвиду Р. за то, что я заметил это, я все время пропадал! - –

+0

Без проблем, рад помочь! –

0

Вы должны учитывать версию языка, то есть если PHP означает 5,4 не поддерживает функцию даты вы упомянули

+0

Согласно [manual] (http://php.net/manual/en/datetime.createfromformat.php), DateTime :: createFromFormat работает с PHP> = 5.3. –

+0

Нет, это не так. Я столкнулся с той же проблемой из-за версии php, что моя версия php также 5.4, но не работает после обновления моей версии php, она работает – Dse

+0

Спасибо Dse за указание на это! –

Смежные вопросы