如何比较 PHP 中的两个日期?

2022-08-30 06:49:56

如何比较 PHP 中的两个日期?

日期以下列格式存储在数据库中

2011-10-2

如果我想将今天的日期与数据库中的日期进行比较,看看哪一个更大,我该怎么做?

我试过了这个,

$today = date("Y-m-d");
$expire = $row->expireDate //from db

if($today < $expireDate) { //do something; }

但它实际上并不是这样工作的。另一种方法是什么?


答案 1

如果您的所有日期都位于 1970 年 1 月 1 日之后,则可以使用如下内容:

$today = date("Y-m-d");
$expire = $row->expireDate; //from database

$today_time = strtotime($today);
$expire_time = strtotime($expire);

if ($expire_time < $today_time) { /* do Something */ }

如果您使用的是 PHP 5 >= 5.2.0,则可以使用 DateTime 类:

$today_dt = new DateTime($today);
$expire_dt = new DateTime($expire);

if ($expire_dt < $today_dt) { /* Do something */ }

或者类似的东西。


答案 2

在数据库中的日期看起来像这样 2011-10-2

将其存储在YYYY-MM-DD中,然后字符串比较将起作用,因为“1”>“0”等。


推荐