Еще один простой вопрос. Я нашел этот действительно классный фрагмент кода:
$date_str = "Jan 14th 2011"; $date = date_parse_from_format('M jS Y', $date_str); echo $date->format('Ym-d');
Но когда я запускаю его на своем компьютере, он говорит «Неустранимая ошибка»: вызовите формат функции-члена () на не-объектной строке 3.
Код был взят отсюда Преобразование строки даты в дату, поэтому я полагаю, что это хорошо, но похоже, что она ссылается на объект, который не существует.
Я смотрел http://php.net/manual/en/function.date-parse-from-format.php и http://www.w3schools.com/php/php_ref_date.asp среди многих других, но у меня есть не найдено никаких подсказок.
Мой вопрос в том, должен ли этот код работать как отдельный фрагмент кода. Если да, то почему это не работает для меня? Иначе я должен сделать, чтобы он работал так, как ожидалось.
date_parse_from_format();
возвращает ассоциативный массив, и вы пытаетесь получить доступ к методу класса для не-объекта.
если вы хотите использовать встроенный класс DateTime PHP. затем дополнительную информацию здесь http://in2.php.net/manual/en/datetime.format.php
date_parse_from_format возвращает массив, а не объект DateTime. Что вы хотите
$date = date_create_from_format('M jS Y', $date_str); ^^^^^^---note the change echo date('Ym-d', $date);