今天我从一个日间柜台开始,但遇到了问题;我需要从今天的日期中减去数据库日期:
<?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
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
$date1 = ["afgerond"];
是array()
而不是date
。 date_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);
这应该会给你预期的结果。