2016-10-12 5 views
-1

Это код, который я использовал. Почему он не может понять эту дату?Почему php strtotime() не работает над датой?

strtotime('FRI OCT 14TH 2016'); //returns Thursday 01 01 1970 
+2

Поскольку это не поддерживаемый формат, [Форматы даты] (https://secure.php.net/manual/en/datetime.formats.date.php) – Neat

+2

Вы можете использовать 'strtotime (strtolower ('FRI OCT 14TH 2016 ')) ' – Mohammad

+0

strtolower зафиксировал это !. - Я ничего не видел в руководстве, в котором говорилось только строчные строчки. – Harry

ответ

2

Попробуйте это:

echo date('d-m-Y', strtotime('FRI OCT 14 2016')); // remove TH from 14TH 

вернет

14-10-2016

+1

Нет. Он вернет '31-12-1969', если вы не используете' strtolower() 'с ним. –

+1

Rax 14-10-2016 возвращается после запуска кода в онлайн-среде php, т.е. http://sandbox.onlinephpfunctions.com –

+1

И, пожалуйста, рассмотрите мой комментарий i.e. // удалить TH из 14TH –

0

Как Neat упоминалось in a comment:

Потому что это не поддерживаемый формат, Date Formats.

Глядя на PHP документации для Date Formats, первая строка в таблице описывает суффиксы поддерживаемые даты (см скриншот ниже). Обратите внимание, что буквы имеют нижний регистр.

Date format for suffixes.

Таким образом, как отмечалось в комментариях, используйте строчные буквы для суффиксов.

strtotime('FRI OCT 14th 2016'); 

Смотрите демонстрацию этого изменения в this playground example.

Смежные вопросы