Forum Webscript.Ru

Программирование => PHP => Тема начата: Sonic от 29 Июля 2001, 09:59:49

Название: Работа со временем
Отправлено: Sonic от 29 Июля 2001, 09:59:49
Здравствуйте уважаемые.
Есть следующий вопросик: есть две переменные в которых храниться время в формате: год-месяц-день часы:минуты:секунды, для наглядности: 2001-07-29 09:58:12. Необходимо сравнить эти две даты и если первая больше чем вторая на 30 минут присвоить к примеру $a=1, а если разница между ними меньше чем 30 минут - то в $a=0. Как это всё можно было бы реализовать? Важен сам алгоритм.
Заранее спасибо.
Название: Работа со временем
Отправлено: sarutobi от 29 Июля 2001, 13:19:36
Если те нужен алгоритм то вот он:
1. Разбираешь переменные с помощью функции Split на следующие части: Год Месяц Днеь Час Минута Секунда;
2. Используя функцию gmmktime ( Час, Минута, Секунда, Месяц, День, Год) - получаешь время в формате INT.
3. Делаешь тот же фокус со второй пременной
4. Сравнить два INT числа и принять решение ты сможешь сам :)
Название: Работа со временем
Отправлено: AliMamed от 29 Июля 2001, 13:56:47
как видно и совершенно правильного постинга sarutobi эти переменные лучше всегда хранить в формате UNIX timestamp
Название: Работа со временем
Отправлено: Sonic от 29 Июля 2001, 19:43:58
Спасибо за ответы, конечно, лучше работать с униховым временем, но приходиться вносить изменения в уже готовый скрипт, который использует данные из Мускуля, которые вставляются NOW(). Приходиться выкручиваться :-)
Название: Работа со временем
Отправлено: !ataMAN! от 31 Июля 2001, 14:38:39
если используется скул, то многое можно сделать и без использования сторонних средств... там имеются готовые функции для работы с датами... например, проверить не прошло ли тридцать минут со времени в date можно таким образом: WHERE date>DATE_SUB(NOW(), INTERVAL 30 MINUTE)