PHP - Сравнение времени - PullRequest
       1

PHP - Сравнение времени

2 голосов
/ 27 апреля 2011

Я работаю над веб-приложением с календарем / планировщиком, и мне нужно сравнить время начала и окончания событий, прежде чем я сохраню их в своей БД. Событие может иметь диапазон от одного дня до 8:00 и до полуночи. Время начала всегда должно быть раньше времени окончания.

Значения записей поступают из формы в следующем формате hh:mm:ss (12:14:00) и т. Д., Поэтому я могу хранить их в своей базе данных без особых хлопот. Можно ли сравнить эти времена?

Большое спасибо!

Ответы [ 2 ]

4 голосов
/ 27 апреля 2011

Если эти времена находятся в базе данных, оператор сравнения базы данных будет работать.Например:

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")) {
   ...
}
3 голосов
/ 27 апреля 2011

Если вы используете PHP 5.3, вы можете использовать метод diff () объектов DateTime, чтобы получить разницу между двумя датами.Но это можно сделать и с помощью только временных меток (1 день = 86400 секунд)

...