У меня есть два DateTime
объектыКак я могу эффективно сравнить два DateTimes и проверить, являются ли они в тот же день?
$lastDate = $entity->getDate(); // is a DateTime with same format as $today
$today = \DateTime::createFromFormat('!Y-m-d', date('Y-m-d'));
Теперь я хочу, чтобы проверить, если эти две даты в тот же день, или, если они больше, чем один день друг от друга (но это должно также включать, если $lastDay
это вчера в 11 вечера и $today
- 1 утра в новый день).
То, что я до сих пор
$diff = $today->diff($lastDate);
if($diff->days > 0) {
$return = false;
} else {
$return = true;
}
Проблема заключается в том: Это, кажется, рассчитывать, если даты более чем 24 часов езды друг от друга и устанавливают только для true
, если это так.
Я мог подумать о сравнении их, сравнив $date->format('d');
, но это означало бы, что я проверяю год и месяц. Я знаю, что это будет работать безупречно, но это будет пять-лайнер или около того.
Так что мой вопрос: есть ли еще эффективный способ проверить это? Любая операция вроде diff()
, которая дает мне результат в одном слое?
Хороший подход, хорошее и бережное мышление. Благодаря! –