Преобразование даты из одного формата в другой

Форум для тех кто начинает осваивать язык php.
MasterOne
Сообщения: 6

Преобразование даты из одного формата в другой

Сообщение MasterOne » Вт июл 26, 2016 3:06 pm

Всем привет.
Есть текстовый файл в котором хранятся даты в формате "22 декабрь 2014", "07 апрель 2013", "10 май 2012" и т. д.
Файл загрузил, прочитал но мне необходимо преобразовать этот в формат в американский.
На выходе должно получится вот так: "2014-12-22", "2013-04-07", "2012-05-10"

Пытаюсь сделать так:

Код: Выделить всё

$tmp_date strtotime($TXTArray[0])
echo 
date("Y-m-d"$tmp_date ); 

В результате выводит: 1970-01-01 03:00:00
Что это за фигня? У меня даже в файле нет 70-х годов.
Есть идея. Сделать массив (январь, февраль, март, .....)
А потом проходится по массиву и подменять месяца цифрами. Но может есть более короткий вариант? Может быть есть более короткий вариант?
Заранее спасибо.
Реклама
cefp
Сообщения: 333
Поблагодарили: 3 раза

Re: Преобразование даты из одного формата в другой

Сообщение cefp » Вт июл 26, 2016 4:28 pm

Семидесятый год - это начало отсчета времени в PHP. Это значит, что у Вас у переменной $tmp_date нулевое значение.

strtotime работает для текстов на английском языке, у Вас на русском.

Думаю, не обязательно создавать массив, чтобы поменять тексты на цифры. Есть функции, которые работают со строковыми переменными.

Ещё интересно как Вы задаете значение переменной $TXTArray.
d o h o d - s - n u l y a .ru - идеи бизнеса.

Вернуться в «PHP»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя