Я пытаюсь использовать 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 Я использую регулярные грамматики для обнаружения всех форматов даты.