1

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

当我运行以下代码时:

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

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

4

3 回答 3

4
<?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');
}
于 2013-09-02T17:13:37.117 回答
1

这可以在 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
}
于 2013-09-02T16:45:50.057 回答
1

使用如下功能http://php.net/manual/en/function.strtotime.php

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

希望这对你有帮助。

于 2013-09-02T16:45:59.310 回答