Преобразование строки даты в дату - PullRequest
3 голосов
/ 30 сентября 2011

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

Этот формат не подходит для strtotime, и если да, то как его преобразовать. Месяц всегда представлен в трехбуквенном формате, например, январь, февраль, мар, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь

Ответы [ 3 ]

4 голосов
/ 30 сентября 2011
$date_str = "Jan 14th 2011";
$date = date_parse_from_format('M jS Y', $date_str);

echo $date->format('Y-m-d');
0 голосов
/ 18 марта 2012

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

0 голосов
/ 30 сентября 2011

Пожалуйста, обратитесь сюда: http://www.php.net/manual/en/datetime.formats.date.php

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...