Вопрос:
Я пытаюсь создать дату (через 7 месяцев после этого) вот мой код
$cdate = new DateTime(«+7 months»); $cdate->modify(«-» . ($cdate->format(‘j’)-1) . » days»); $expiry_date= $cdate->format(‘Y-m-d’); $expiry_date = strtotime($expiry_date);
который дает ошибку:
PHP Catchable fatal error: Object of class DateTime could not be converted to string
он работает, прежде чем… в чем проблема?
Ответ №1
Класс DateTime не имеет магического метода __toString(), поэтому вы не можете использовать этот объект в качестве строки.
Вы должны использовать getTimestamp()
$cdate = new DateTime(«+7 months»); $expiry_date = $cdate->getTimestamp(); Ответ №2$cdate = new DateTime(+7 months); $cdate = $cdate->format(‘Y-m-d’);
Будет причиной того, что cdate будет строкой, если это то, что вы собираетесь делать.