我一直试图找到我的问题的答案,找不到一个,如果给出$ start的输入日期,则在下面的代码中找到它可以正常工作的代码。但是,如果使用没有时间的日期字段完成相同的操作,则会出错。
<?php
$start = new DateTime('2011-10-12');
$today = new DateTime();
$days = round(abs($today->format('U') - $start->format('U')) / (60*60*24));
echo $days;
?>
回声 146 。
但如果我将 $ start 替换为表格字段,例如:
$start = $demurage2[DC_date];
echo $start;
$today = new DateTime();
$dcdate = round(abs($today->format('U') - $start->format('U')) / (60*60*24));
echo $dcdate;
错误: 致命错误:在第490行的/home/tech17/public_html/svga/invoice-detail.php中调用非对象的成员函数format()
我尝试过echo 仅$ start ,它会从表格中显示正确的日期: 2012-01-17。
答案 0 :(得分:0)
你的$ start不是第二个例子中DateTime类的对象,所以当然它不起作用。如何存储日期?从技术上讲,这可能会有效,但它高度依赖于这个$ demurage2 ['DC_date']的值。
$start=new DateTime($demurage2['DC_date']);