PHP中日期的比较

当两个日期的格式相似时,在PHP中匹配两个日期非常顺畅,但是当两个日期的格式无关时,php无法分析。在本文中,我们将讨论PHP中日期比较的不同情况。我们将弄清楚如何在比较日期时利用DateTime类,strtotime()。

情况1:

如果给定日期的格式相似,我们可以通过简单的比较运算符分析日期。

<?php

   $date1 = "2018-11-24";

   $date2 = "2019-03-26";

   if ($date1 > $date2)

     echo "$date1 is latest than $date2";

   else

     echo "$date1 is older than $date2";

?>

输出:

2019-03-26 is latest than 2018-11-24

说明:

在这里,我们以相同的格式声明了两个日期$date1和$date2。因此,我们使用了一个比较运算符(>)来比较日期。

情况2:

如果此时给定的日期采用各种格式,则可以使用该strtotime()函数将给定的日期转换为UNIX时间戳格式,并分析这些数字时间戳以得到预期的结果。

例:

<?php

   $date1 = "18-03-22";

   $date2 = "2017-08-24";

   $curtimestamp1 = strtotime($date1);

   $curtimestamp2 = strtotime($date2);

   if ($curtimestamp1 > $curtimestamp2)

      echo "$date1 is latest than $date2";

   else

      echo "$date1 is older than $date2";

?>

输出:

18-03-22 is latest than 2017-08-24

说明:

在此示例中,我们有两个日期格式不同的日期。因此,我们已经使用预定义函数strtotime()将它们转换为数字UNIX时间戳,然后使用不同的比较运算符比较这些时间戳以获得所需的结果。

情况3:

通过创建DateTime类的对象比较两个日期。

例:

<?php

   $date1 = new DateTime("18-02-24");

   $date2 = new DateTime("2019-03-24");

   if ($date1 > $date2) {

    echo 'datetime1 greater than datetime2';

   }

   if ($date1 < $date2) {

    echo 'datetime1 lesser than datetime2';

   }

  if ($date1 == $date2) {

    echo 'datetime2 is equal than datetime1';

   }

?>

输出:

datetime1 lesser than datetime2

说明:

在此示例中,我们创建了两个DateTime对象。为了比较这两个日期,我们使用不同的比较运算符来获得所需的结果。

以上是 PHP中日期的比较 的全部内容, 来源链接: utcz.com/z/331077.html

回到顶部