Невозможно применить функцию сразу после создания экземпляра объекта DateTime PhP

Я пытаюсь извлечь год строковой даты, используя DateTime::.

Я не понимаю, почему следующий экземпляр DateTime выдает ошибку:

$myDate = "2015-09-10";

$year_myDate = new DateTime($myDate)->format("Y");

зная, что это на самом деле работает:

$myDate = "2015-09-10";

$dateTime_myDate = new DateTime($myDate);

$year_myDate = $dateTime_myDate->format("Y");

Не будет ли объект возвращать экземпляр себя? Так почему же мы не можем использовать метод этого класса сразу после создания экземпляра?

4

Решение

Вы можете, вы просто должны деформировать свои экземпляры в скобки, например,

$ year_myDate = (новый DateTime ($ myDate))-> Формат ( "Y");
↑ ↑

Замечания:

  • Это работает с PHP> = 5.4 разыменование
  • $year_myDate, не будет содержать экземпляр DateTimeпросто строка (возврат из DateTime::format())
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]