| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > datetime - промежуток |
| Автор: flashaa 30.6.2007, 02:08 |
| Привет снова. На этот раз вопрос такой: Имеется 2 даты из БД. Мне необходимо узнать между ними промежуток. (PHP) Примерно представляю алгоритм так: промежуток в секундах= (секунды1+минуты1*60+часы1*60*60+дни1*60*60*24) - (секунды2+минуты2*60+часы2*60*60+дни2*60*60*24) можно ещё года добавить чтобы было совсем точно. И собственно вопрос: как мне получить минуты, секунды и тп из дат, такой функции не обнаружил. Все функции работают с текущим временем системных часов. И если мой вариант не оптимальный, поделитесь более правильным решением. |
| Автор: Всемогущий 30.6.2007, 06:26 |
| http://mysql.org/doc/refman/5.1/en/date-and-time-functions.html#function_datediff |
| Автор: flashaa 30.6.2007, 17:44 |
| Я не совсем правильно поставил вопрос. Одна дата из базы, а другая текущая, Хотя пожалуй можно запрос составить как вычитание текущей даты и БД.. Надо проверить, прошло ли 10 минут. |
| Автор: SelenIT 30.6.2007, 23:43 |
| База тоже знает текущую дату - http://mysql.org/doc/refman/5.1/en/date-and-time-functions.html#function_now. |
| Автор: sTa1kEr 1.7.2007, 00:33 | ||
Ну и в чем проблема? Как сказал SelenIT.
|
| Автор: flashaa 1.7.2007, 17:56 |
| Все, спасибо. Мне вместо QUARTER надо MINUTE поставить и mysql_resut($r,0,"interval_minute"); сравнить с 10 |
| Автор: flashaa 2.7.2007, 01:56 | ||||||||
| Что-то неверный запрос... вот что ввожу в SQL
Вот что получаю:
Даже если взять прямо пример с ваших ссылок:
Выдает:
|
| Автор: sTa1kEr 2.7.2007, 02:20 | ||
Прошу прощенья... эта функция пояивилась только в 5ой версии MySQL, а у вас, видимо, 4ая. Тогда только через UNIX_TIMESTAMP() / 60
|
| Автор: flashaa 3.7.2007, 03:13 |
| не могли вы сказать подробнее про эту функцию? на php.net ее нет |
| Автор: sTa1kEr 3.7.2007, 09:35 |
| Это функция MySQL аналогична функции PHP mktime(), т.е. она возвращает метку времени юникс. http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_unix-timestamp |
| Автор: flashaa 3.7.2007, 12:02 |
| Ага, значит сколько секунд прошло с 1970 года ) , значит используя разность дат я смогу избавиться от начала отчета 1970 и считать полноценные даты.. Спасибо, с ПХП я конечно облажался, надо было в Мускл |