首页  >  文章  >  后端开发  >  为什么我的 PHP 代码无法正确检查某个日期是否位于其他两个日期之间?

为什么我的 PHP 代码无法正确检查某个日期是否位于其他两个日期之间?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-17 17:09:02434浏览

Why is my PHP code not correctly checking if a date falls between two other dates?

PHP - 检查一个日期是否在两个其他日期之间

问题:

A从 Stack Overflow 检索的代码片段已被修改,以检查今天的日期是否在特定范围内。但是,修改后的代码无法按预期运行。

$paymentDate = date('d/m/Y');
$contractDateBegin = date('d/m/Y', '01/01/2001');
$contractDateEnd = date('d/m/Y', '01/01/2015');

if ($paymentDate > $contractDateBegin && $paymentDate < $contractDateEnd) {
  echo "is between";
} else {
  echo "NO GO!";
}

答案:

要解决此问题,应使用 strtotime() PHP 函数进行转换日期为时间戳格式。这可确保根据时间戳值正确比较日期。

$paymentDate = date('Y-m-d');
$paymentDate = date('Y-m-d', strtotime($paymentDate));
$contractDateBegin = date('Y-m-d', strtotime("01/01/2001"));
$contractDateEnd = date('Y-m-d', strtotime("01/01/2012"));

if (($paymentDate >= $contractDateBegin) && ($paymentDate <= $contractDateEnd)) {
    echo "is between";
} else {
    echo "NO GO!";
}

注意:

要确保今天的日期包含在比较中,请使用 > ;= 和 <= 而不是 >和 <.>

以上是为什么我的 PHP 代码无法正确检查某个日期是否位于其他两个日期之间?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn