date — Как устранить эту ошибку «Исправляемая фатальная ошибка: объект класса DateTime не может быть преобразован в строку в /var/www/web/print.php в строке 9»?

Я хочу показать сообщение об ошибке, если дата в определенной переменной больше, чем сегодняшняя дата. Для этого я написал следующий код, но он показывает ошибку:
«Исправляемая фатальная ошибка: объект класса DateTime не может быть преобразован в строку в /var/www/web/print.php в строке 9»

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$form_data['trans_date'] = '12-11-2014';
$newTransDate = DateTime::createFromFormat('!m-d-Y', $form_data['trans_date']);
$today_date = new DateTime();
echo "Trans Date " . $newTransDate; die; //This is line no.9
if($newTransDate > $today_date)
echo "Error";
else
echo "Success";
?>

Какие изменения необходимо внести в приведенный выше код, чтобы все функционировало с правильным сопоставлением двух дат?

0

Решение

Вам нужно использовать ->format() на созданном объекте DateTime, если вы хотите получить желаемую дату.

echo "Trans Date " . $newTransDate->format('Y-m-d'); // and remove that die!
2

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

Так как,

echo "Trans Date " . $newTransDate; die; //This is line no.9

$newTransDate это объект, и вы печатаете его с echo, функция, предназначенная для печати строки.

Вы можете распечатать его с помощью:

echo '<pre>';
print_r($newTransDate);
echo '</pre>';

эхо

print_r ()

0

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