Нет хорошего способа сделать это с объектами 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
}
Это будет работать, но, как я уже сказал, это нехорошо.
Кстати, недавний опыт подсказывает, что всегда лучше убедиться, что обе даты находятся в одном часовом поясепоэтому я добавил код на всякий случай.