比较数据库中 php 中的日期


Comparing dates in php from the database

如何在php中比较两个日期。我从数据库中获得了一系列日期,我希望它与今天的日期进行比较。

我有这样的东西。

$d['dd'] = 10;
$d['mm'] = 12;
$d['yy'] = 13;

现在我已经做了这样的事情:

$date = $d['yy'].'-'.$d['mm'].'-'.$d['dd'];
$date_diff=strtotime(date("y-m-d"))-strtotime($date); 
if($date_diff>0){
     //this date is gone.
}
 // I want to show this day will go in 5 days. To do this I have following.      
if((strtotime(date("y-m-d", strtotime(date("y-m-d", strtotime(date('y-m-d'))) . "+ 5 days")))-$date_diff)>0){
// This day will go in 5 days time.
}

现在我的问题是最好的方法是什么,或者我怎样才能以更好(更可靠)的方式做到这一点。任何建议都会有所帮助。

提前谢谢。

在进行日期比较时,您应该直接在数据库中进行(如果可能的话),因为 mysql 知道时区、DST-stuff、闰年等.PHP DateTime有问题的历史,如果你可以让数据库这样做,我会推荐这个。

将您的日期保存为日期时间并使用内置的 mysql 日期函数:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html