2015-11-22 3 views
-1

Относительно мало опыта работы с PHP, но я столкнулся с ошибкой разбора при попытке создать экземпляр нового DateTime, я не могу понять, что я делаю неправильно!Создание момента времени в PHP

следующие результаты в случае ошибки разбора:

public $date = new DateTime('now'); 

PHP версии 5.5.27

+0

Вы не можете определить свойство, содержащее любое значение, требующее оценки времени выполнения ..... установить значение в вашем конструкторе .... соответствующую цитату из [PHP Docs] (http: //www.php .net/manual/en/language.oop5.properties.php) - 'Это объявление может включать инициализацию, но эта инициализация должна быть постоянным значением, то есть она должна быть способна быть оценена во время компиляции и не должна зависят от информации о времени выполнения для оценки. ' –

+0

Пятно на, не могу поверить, что я этого не видел, спасибо! - Я также не установил часовой пояс по умолчанию, поэтому пришлось добавить: 'date_default_timezone_set ('Европа/Лондон');' . – Rayner

ответ

0

Просто оставьте из аргумента, чтобы получить текущую дату/время:

$date = new DateTime(); 
+0

Вызывает причину, по которой DateTime не создавал экземпляр (кроме попытки создать экземпляр в неправильном месте), было то, что я не задал часовой пояс по умолчанию, добавил, что все работает. – Rayner

+0

Пожалуйста, добавьте это как ответ, чтобы этот вопрос можно было закрыть. Благодарю. – trincot

0

Оборотов из-за того, что DateTime не создавал экземпляр (кроме попытки создать экземпляр в неправильном месте - спасибо Mark Baker) было то, что я не задал часовой пояс по умолчанию, добавил, что и во всем работал.

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