在计算两个日期之间的天数方面存在一些问题,我已经检查了与此问题相关的其他线程,但无法解决我的问题。
我正在使用这个PHP代码:
while($row = $result->fetch_assoc()) {
$now = strtotime(date("Y-m-d"));
$to = strtotime($row["pickupdate"]);
//$days = 0;
$days = $to - $now;
if ($days <= 5 && $days >= 0)
{
echo "<table style='border: solid 1px black;'>...
在我的数据库中,我有4个&#34; pickdate&#34; s在if条件的范围内,但是当我运行查询并显示结果时,我只得到两个。
我得到相同的两个输出,这意味着,它只找到0天,但不是1天和2天,我已在数据库中设置。
数据库中日期范围内的日期:
那么为什么在本月11日和12日显示他们是否在if语句的范围内?
我已将if语句更改为:
if ($days >= 0 && $days <= 100)
我仍然得到相同的两个结果,
感谢任何帮助或指示,谢谢。
答案 0 :(得分:1)
如评论中所述,您正在减去字符串。它不起作用。
$days = (strtotime($to) - strtotime($now))/86400;
答案 1 :(得分:1)
一天有84600秒,为了获得天数差异的结果,您需要将结果除以84600
无论哪种 变化
$days = $to - $now;
到
$days = ($to-$now)/86400;
或者你可以替换
$now = strtotime(date("Y-m-d"));
$to = strtotime($row["pickupdate"]);
$days = $to - $now;
带
$days = (strtotime($row["pickupdate"]) - strtotime(date("Y-m-d")))/86400;