如何使用php查找字段日期和当前日期之间的天数

如何使用php查找字段日期和当前日期之间的天数,php,mysql,date,Php,Mysql,Date,我一直在试图找到我的问题的答案,但找不到答案,请在下面的代码中查找,如果给定$start的输入日期,它可以正常工作。但是,如果使用没有时间的日期字段执行相同操作,则会出现错误 <?php $start = new DateTime('2011-10-12'); $today = new DateTime(); $days = round(abs($today->format('U') - $start->format('U')) / (60*60

我一直在试图找到我的问题的答案,但找不到答案,请在下面的代码中查找,如果给定$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;
    ?>
错误: 致命错误:在第490行的/home/tech17/public_html/svga/invoice-detail.php中对非对象调用成员函数格式


我尝试了echo only$start,它显示了表中的正确日期:2012-01-17。

在第二个示例中,您的$start不是DateTime类的对象,因此它当然不起作用。日期是如何存储的?从技术上讲,这可能是可行的,但这在很大程度上取决于$demurage2['DC_date']的值

$start=new DateTime($demurage2['DC_date']);

在第二个示例中,$start的内容是什么?您希望它是一个DateTime对象,但如果它直接来自MySQL,则很可能是格式为YYYY-MM-DD的字符串。$start when echo,它从表2012-01-17中给出了正确的日期值,不确定它是否是字符串。在这种情况下,我应该再次尝试转换吗?我需要在最后得到正确的天数。嗨,克里斯托娃,是的,这是有效的,正如利科维卡在第一个实例中正确地说的那样。谢谢各位。
$start=new DateTime($demurage2['DC_date']);