PHP中日期的比较

王林
王林 转载
2023-09-09 17:22:02 432浏览

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

Explanation:

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

Case 3:

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

Example:

<?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

Explanation:

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

以上就是PHP中日期的比较的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除