Это код, который я использовал. Почему он не может понять эту дату?Почему php strtotime() не работает над датой?
strtotime('FRI OCT 14TH 2016'); //returns Thursday 01 01 1970
Это код, который я использовал. Почему он не может понять эту дату?Почему php strtotime() не работает над датой?
strtotime('FRI OCT 14TH 2016'); //returns Thursday 01 01 1970
Попробуйте это:
echo date('d-m-Y', strtotime('FRI OCT 14 2016')); // remove TH from 14TH
вернет
14-10-2016
Нет. Он вернет '31-12-1969', если вы не используете' strtolower() 'с ним. –
Rax 14-10-2016 возвращается после запуска кода в онлайн-среде php, т.е. http://sandbox.onlinephpfunctions.com –
И, пожалуйста, рассмотрите мой комментарий i.e. // удалить TH из 14TH –
Как Neat упоминалось in a comment:
Потому что это не поддерживаемый формат, Date Formats.
Глядя на PHP документации для Date Formats, первая строка в таблице описывает суффиксы поддерживаемые даты (см скриншот ниже). Обратите внимание, что буквы имеют нижний регистр.
Таким образом, как отмечалось в комментариях, используйте строчные буквы для суффиксов.
strtotime('FRI OCT 14th 2016');
Смотрите демонстрацию этого изменения в this playground example.
Поскольку это не поддерживаемый формат, [Форматы даты] (https://secure.php.net/manual/en/datetime.formats.date.php) – Neat
Вы можете использовать 'strtotime (strtolower ('FRI OCT 14TH 2016 ')) ' – Mohammad
strtolower зафиксировал это !. - Я ничего не видел в руководстве, в котором говорилось только строчные строчки. – Harry