如何比较两个DateTime对象是否具有相同的日,月和年? 问题是他们有不同的小时/分钟/秒。
答案 0 :(得分:2)
使用DateTime对象没有很好的方法。所以你不得不做,不用说,不是那么好的事情。
$nDate1 = clone $date1;
$nDate2 = clone $date2;
//We convert both to UTC to avoid any potential problems.
$utc = new DateTimeZone('UTC');
$nDate1->setTimezone($utc);
$nDate2->setTimezone($utc);
//We get rid of the time, and just keep the date part.
$nDate1->setTime(0, 0, 0);
$nDate2->setTime(0, 0, 0);
if ($nDate1 == $nDate2) {
//It's the same day
}
这会有效,但就像我说的那样,它并不好。
另一方面,最近的经验告诉我,最好确保两个日期都在同一时区,所以为了以防万一我添加了代码。
答案 1 :(得分:0)
怎么样:
$date1->format('Ymd') == $date2->format('Ymd');
:WQ
答案 2 :(得分:-1)
if(date('dmY', $date1) == date('dmY', $date2))
你可以把它放在一个函数中......
function compare_dates($date1, $date2){
if(date('dmY', $date1) == date('dmY', $date2))
return true ;
return false ;
}
最有用;)