Преобразование даты на дату

Я пытаюсь использовать strtotime для преобразования строк даты в формате Jan 14th 2011 в формат 2011-01-14 но он не работает.

Этот формат не подходит для strtotime и если да, то как его преобразовать. Месяц всегда в 3-х буквенном формате, например, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec

 $date_str = "Jan 14th 2011"; $date = date_parse_from_format('M jS Y', $date_str); echo $date->format('Ym-d'); 

См. Здесь: http://www.php.net/manual/en/datetime.formats.date.php

AFAIK, strtotime анализирует английскую текстовую дату или время в отметке времени Unix.

strtotime или подобные решения потребуют немного изменений для каждого варианта использования. Если вы хотите пойти немного дальше и иметь постоянное решение для преобразования исходных строк в временные форматы, вы можете проверить этот проект. https://github.com/raimonbosch/date.extraction Я использую регулярные грамматики для обнаружения всех форматов даты.