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