0

如果特定变量中的日期大于今天的日期,我想显示错误消息。为此,我编写了以下代码,但它给出了错误: “Catchable fatal error: Object of class DateTime could not be convert to string in /var/www/web/print.php on line 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";  
?>

需要对上述代码进行哪些修改才能通过正确比较两个日期来实现所有功能?

4

2 回答 2

2

如果您的意图是获取所需的日期,则需要->format()在创建的 DateTime 对象上使用。

echo "Trans Date " . $newTransDate->format('Y-m-d'); // and remove that die!
于 2014-12-11T06:22:26.890 回答
0

因为,

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

$newTransDate是一个对象,您使用 打印它echo,这是一个专用于打印字符串的函数。

您可以使用以下方式打印它:

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

回声

打印_r()

于 2014-12-11T06:21:25.957 回答