Я работаю над веб-приложением Calendar / Planner, и мне нужно сравнить время начала и окончания событий, прежде чем я их сохраню в своей БД. Событие может иметь только один день и между 8 утра и полуночью. Время начала всегда должно быть выполнено до окончания времени.
Значения post приходят из формы в следующем формате hh:mm:ss
( 12:14:00
) и т. Д., Поэтому я могу хранить их в своей базе данных без особых хлопот. Есть ли способ сравнить эти времена?
Большое спасибо!
Если эти времена находятся в базе данных, будет работать оператор сравнения базы данных. Например:
SELECT * FROM table WHERE time < NOW()
В PHP самый простой способ сравнить время – это преобразовать их в метки времени, а затем сравнить временные метки как целые числа. Вы можете использовать strtotime для этого преобразования.
Например:
$time1 = "08:00:00"; $time2 = "09:00:00"; if (strtotime($time1) > strtotime($time2) || strtotime($time1) < strtotime("08:00:00")) { ... }
Если вы используете PHP 5.3, вы можете использовать метод diff () для объектов DateTime, чтобы получить разницу между двумя датами. Но также можно делать только временные метки (1 день = 86400 секунд)