deleted-mezhevikin
@deleted-mezhevikin

Как распарсить дату вида «20 августа 2014»?

Есть строка с датой в формате '20 августа 2014', как на php распарсить и получить timestamp?

Пробовал так:
setlocale(LC_ALL, 'ru_RU.UTF-8');
echo strtotime('20 августа 2014');
  • Вопрос задан
  • 2704 просмотра
Пригласить эксперта
Ответы на вопрос 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
strtotime(strtr('20 августа 2014', [
    'августа' => 'august',
    ...
]);


суть вы поняли.
Ответ написан
kompi
@kompi
nullstack devoops
Довольно таки просто, хоть и костыльно:
$aMonth = [
	'1' => 'января',
	'2' => 'февраля',
	'3' => 'марта',
	'4' => 'апреля',
	'5' => 'мая',
	'6' => 'июня',
	'7' => 'июля',
	'8' => 'августа',
	'9' => 'сентября',
	'10' => 'октября',
	'11' => 'ноября',
	'12' => 'декабря'
];
$sDate = '21 марта 2014';
var_dump(DateTime::createFromFormat('d n Y', str_ireplace(array_values($aMonth), array_keys($aMonth), $sDate))->getTimestamp());
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы