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 对象。为了比较这两个日期,我们使用不同的比较运算符来获得期望的结果。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP