php - 我该如何在PHP中比较两个日期?

80 2

我该如何在PHP中比较两个日期?

数据库中的日期2011-10-2

如果我想对今天的日期和数据库中的日期进行比较,看看哪个更大,我要怎么做?

我尝试过


$today = date("Y-m-d");


$expire = $row->expireDate //from db



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



但它并没有真正起作用。另一种方式是什么?

时间: 原作者:

133 0

数据库中的日期2011-10-2

将它存储在YYYY-MM-DD中,然后字符串比较将起作用,因为'1'>'0'呀

原作者:
77 3

如果你所有的日期都是在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 */ }



原作者:
78 2

请参阅以下示例:


$today = new DateTime('');


$expireDate = new DateTime($row->expireDate); //from database



if($today->format("Y-m-d") < $expireDate->format("Y-m-d")) { 


 //do something; 


}



更新:或简单使用旧的date()函数:


if(date('Y-m-d') < date('Y-m-d', strtotime($expire_date))){


 //echo not yet expired! 


} 



原作者:
147 2

$today = date('Y-m-d');//Y-m-d H:i:s


$expireDate = new DateTime($row->expireDate);// From db 


$date1=date_create($today);


$date2=date_create($expireDate->format('Y-m-d'));


$diff=date_diff($date1,$date2);


$timeDiff = $diff->format("%R%a days");



echo $timeDiff;


if($timeDiff < 0){


 echo"Expired.";


}else{


 echo"Not expired.";


}



原作者:
82 1

$today_date=date("Y-m-d");


$entered_date=$_POST['date'];


$dateTimestamp1 = strtotime($today_date);


$dateTimestamp2 = strtotime($entered_date);


$diff= $dateTimestamp1-$dateTimestamp2;


//echo $diff;


if ($diff<=0)


 {


 echo"Enter a valid date";


 }



原作者:
88 4

这里有一个关于如何在几分钟内获得两个日期之间差异的方法。


// set dates


$date_compare1= date("d-m-Y h:i:s a", strtotime($date1));


// date now


$date_compare2= date("d-m-Y h:i:s a", strtotime($date2));



// calculate the difference


$difference = strtotime($date_compare1) - strtotime($date_compare2);


$difference_in_minutes = $difference / 60;



echo $difference_in_minutes;



原作者:
114 2

你可以使用简单的PHP来比较日期:


$date = new simpleDate();


echo $date->now()->compare($expire_date)->isBeforeOrEqual();



这将给你true或false 。

你可以查看教程以获得更多例子,请请单击这里

原作者:
123 0

我也有这个问题,我解决了这个问题:


$today = date("Ymd");


$expire = str_replace('-', '', $row->expireDate); //from db



if(($today - $expire) > $NUMBER_OF_DAYS) 


{ 


 //do something; 


}



原作者:
71 4

你可以检查一下。


if ($startdate < $date) {// do something} 


if ($startdate > $date) {// do something}



但两个日期的格式必须相同

YMD或DMY

原作者:
...