【问题标题】:Comparing DateTime Not Working比较日期时间不起作用
【发布时间】:2013-09-02 16:43:25
【问题描述】:

我创建了两个日期时间对象,其中 $date1 = 09/02/2013 和 $date2 = 03/02/2014

当我运行以下代码时:

if ($date2 < $date1)
{
  echo "hi";
}

尽管 $date2 明显大于 $date1,但由于某种原因它会回显“hi”。我应该如何比较这两个日期?请帮忙!

【问题讨论】:

  • 使用if(strototime($date2) &lt; strtotime($date1))

标签: php datetime compare


【解决方案1】:
<?php
$date1 = new DateTime ('2013-12-25');
$date2 = new DateTime ('2014-11-24');
if ($date1 > $date2) {
echo ('date1 is greater than date2');
}
else {
echo ('date2 is greater than date1');
}

【讨论】:

    【解决方案2】:

    使用如下函数http://php.net/manual/en/function.strtotime.php

    if (strtotime($date2 ) < strtotime($date1))
    {
     echo "hi";
    }
    

    希望这对你有帮助。

    【讨论】:

    • @nshah,欢迎。请您接受我的回答,以便将来有人遇到问题,以便他们可以使用我们的线程。
    【解决方案3】:

    这可以在 JavaScript 中工作,但在 PHP 中则不行:P

    但是,您可以计算日期之间的间隔。

    $interval = $date1->diff($date2);
    if ($interval->invert){ //1 if negative and 0 if positive
      // $date2 has a bigger time value
    } else {
      // $date1 has a bigger time value
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多