![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 2 Всего: 25 |
Привет снова. На этот раз вопрос такой: Имеется 2 даты из БД. Мне необходимо узнать между ними промежуток. (PHP)
Примерно представляю алгоритм так: промежуток в секундах= (секунды1+минуты1*60+часы1*60*60+дни1*60*60*24) - (секунды2+минуты2*60+часы2*60*60+дни2*60*60*24) можно ещё года добавить чтобы было совсем точно. И собственно вопрос: как мне получить минуты, секунды и тп из дат, такой функции не обнаружил. Все функции работают с текущим временем системных часов. И если мой вариант не оптимальный, поделитесь более правильным решением. Это сообщение отредактировал(а) flashaa - 30.6.2007, 02:17 |
|||
|
||||
| Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 2 Всего: 13 |
||||
|
||||
| sTa1kEr |
|
||||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 9 Всего: 146 |
Да на самом деле все намного проще TIMESTAMPDIFF(). Т.е. вы можете получить необходимую разницу в нужных юнитах не отходя от БД
Если нужна разница в "человеческих" часах (т.е. с минутами, секундами, а не дробью), то почитайте про TIMEDIFF() |
||||
|
|||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 2 Всего: 25 |
Я не совсем правильно поставил вопрос. Одна дата из базы, а другая текущая, Хотя пожалуй можно запрос составить как вычитание текущей даты и БД.. Надо проверить, прошло ли 10 минут.
Это сообщение отредактировал(а) flashaa - 30.6.2007, 17:48 |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 9 Всего: 401 |
База тоже знает текущую дату - NOW().
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 9 Всего: 146 |
||||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 2 Всего: 25 |
Все, спасибо. Мне вместо QUARTER надо MINUTE поставить и mysql_resut($r,0,"interval_minute"); сравнить с 10
Это сообщение отредактировал(а) flashaa - 1.7.2007, 17:57 |
|||
|
||||
| flashaa |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 2 Всего: 25 |
Что-то неверный запрос...
вот что ввожу в SQL
Вот что получаю:
Даже если взять прямо пример с ваших ссылок:
Выдает:
Это сообщение отредактировал(а) flashaa - 2.7.2007, 02:01 |
||||||||
|
|||||||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 9 Всего: 146 |
Прошу прощенья... эта функция пояивилась только в 5ой версии MySQL, а у вас, видимо, 4ая. Тогда только через UNIX_TIMESTAMP() / 60
|
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 2 Всего: 25 |
не могли вы сказать подробнее про эту функцию? на php.net ее нет
|
|||
|
||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 9 Всего: 146 |
Это функция MySQL аналогична функции PHP mktime(), т.е. она возвращает метку времени юникс. http://dev.mysql.com/doc/refman/4.1/en/dat..._unix-timestamp
|
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 2 Всего: 25 |
Ага, значит сколько секунд прошло с 1970 года ) , значит используя разность дат я смогу избавиться от начала отчета 1970 и считать полноценные даты..
Спасибо, с ПХП я конечно облажался, надо было в Мускл |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |