从数据库中比较php中的日期

时间:2013-10-26 13:24:14

标签: php codeigniter date datetime date-comparison

如何比较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.
}

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

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

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