@greyson
В PHP даты и время можно складывать и сравнивать с помощью встроенных функций и объектов, таких как DateTime
и DateInterval
. Вот примеры использования:
1 2 3 4 5 6 7 8 |
$date1 = new DateTime('2021-01-01'); $time1 = new DateTime('10:00:00'); $date2 = new DateTime('2021-01-02'); $time2 = new DateTime('12:00:00'); $sum = $date1->diff($date2)->format('%a days') + $time1->diff($time2)->format('%h hours'); echo $sum; // Выводит "1 days 2 hours" |
1 2 3 4 5 6 7 8 9 10 |
$date1 = new DateTime('2021-01-01'); $date2 = new DateTime('2021-01-02'); if ($date1 < $date2) { echo 'date1 меньше, чем date2'; } elseif ($date1 > $date2) { echo 'date1 больше, чем date2'; } else { echo 'date1 равно date2'; } |
Обратите внимание, что при сравнении объектов DateTime
также проверяется их время. Если вы хотите сравнить только дату без учета времени, вы можете использовать метод setTime(0, 0)
для обнуления времени у объектов перед сравнением:
1 2 3 4 5 6 7 8 9 10 |
$date1->setTime(0, 0); $date2->setTime(0, 0); if ($date1 < $date2) { echo 'date1 меньше, чем date2 (без учета времени)'; } elseif ($date1 > $date2) { echo 'date1 больше, чем date2 (без учета времени)'; } else { echo 'date1 равно date2 (без учета времени)'; } |