日期计数,我做错了什么?

时间:2014-12-03 15:54:20

标签: php date

今天我从一个日间柜台开始,但遇到了问题;我需要从今天的日期中减去数据库日期:

     <?php



     $query = "SELECT reparatie.reparatieid, reparatie.klantid, klant.achternaam, reparatie.afgerond FROM reparatie INNER JOIN klant ON reparatie.klantid=klant.klantid";



        $result = $link->query($query);



        if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
        print("<tr>");
        print("<td>".$row ["reparatieid"]."</td>"." ");
        print("<td>".$row ["klantid"]."</td>"." ");
        print("<td>".$row ["achternaam"]."</td>"." ");
        print("<td>".$row ["afgerond"]."</td>"." ");

        date_default_timezone_set('Europe/Berlin'); 

        $date1 = ["afgerond"];      
        $date2 = date_create('TODAY');
        $interval = date_diff($date1, $date2);
        print$interval;


        print("<td>". "<input type='submit' name='open' value='open'/><form></td>"."<br>");

        print("</tr>");

        }
        } else {
        echo "0 results";}
        print("</table>");

        mysqli_free_result($result);
        mysqli_close($link);

        ?>

但它会显示以下错误消息:

Warning: date_diff() expects parameter 1 to be DateTime, array given

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

$date1 = ["afgerond"];array()而不是datedate_diff()函数是别名:DateTime::diff()。它需要两个参数,都应该是日期。如果$row ["afgerond"]是日期,则可以尝试此操作。

    $date1 = date_create($row["afgerond"]);
    $date2 = date_create('TODAY');
    $interval  = date_diff($date1,$date2);
    print $interval->format("%R%a days");

答案 1 :(得分:0)

    $date1 = date_create($row["afgerond"]);      
    $date2 = date_create('TODAY');
    $interval = date_diff($date1, $date2);
    print_r($interval);

这应该会给你预期的结果。