увеличить время на секунду

Статус
В этой теме нельзя размещать новые ответы.

Фанат

oncle terrible
Команда форума
Игорь
эти люди интересуются, зачем запрашивать максимальное время отдельно, если по условиям задачи оно все равно запрашивается и выводится на странице

-~{}~ 17.05.07 19:41:

чтобы перевести время в секунды, надо всего лишь умножить. часы на 3600, минуты на 60
чтобы получить часы из секунд, надо из поделить на 3600.
чтобы получить минуты - на 60.
все, что осталось за вычетом круглых часов и минкут - секунды.

я бы понял, если бы проблема встала на каком-то этапе реализации этого алгоритма.
 

Игорь

Новичок
tf, у меня ман в компе. Всё это я прочитал. И каково решение?

Фанат, вот с этого и нужно было начинать. Неужели трудно сказать: в PHP нет подобных функций. Реализуй их сам.

Вот полный, исчерпывающий ответ, который заслуживает благодарности. Но вместо этого Вас понесло в какой-то досужий флейм.

Про поиск Вы опять же не правы. Может не нужно составлять огульного мнения о незнакомых людях?

-~{}~ 17.05.07 19:44:

Автор оригинала: Фанат
чтобы перевести время в секунды, надо всего лишь умножить. часы на 3600, минуты на 60
чтобы получить часы из секунд, надо из поделить на 3600.
чтобы получить минуты - на 60.
все, что осталось за вычетом круглых часов и минкут - секунды.
Хм. Фанат, а это Вы зачем написали? Думаете я этого не знаю? Ещё раз повторюсь, если бы Вы сказали -- PHP не располагает готовым функционалом, вопрос был бы давно закрыт.

Любите флейм? Или что?
 

Фанат

oncle terrible
Команда форума
Неужели трудно сказать: в PHP нет подобных функций. Реализуй их сам.
В РНР НЕТ ФУНКЦИЙ ЕЩЁ НА СТО ТЫСЯЧ СЛУЧАЕВ!
РНР - это не набор функций! А язык ПРОГРАММИРОВАНИЯ.
И требуемый результат достигается не подстановкой функций в различном порядке, а составлением программы.

впрочем, что это я.
про функции - это попытка сохранить хорошую мину.
ладно, за отмазку проканает, что ты, типа, ждал, что тебе имя волшебной функции скажут
 

Фанат

oncle terrible
Команда форума
Хм. Фанат, а это Вы зачем написали?
хех.
да. я думаю, вы этого не знали.

поскольку я не понимаю, что может помешать человеку, который это знает, за пять минут написать программу, это реализующую, и СЭКОНОМИТЬ ВРЕМЯ И ТРАФИК посетителям форума.

-~{}~ 17.05.07 19:50:

но реакция меня убила.
чувак долго просил решение.
решение ему дали
он снова недоволен

-~{}~ 17.05.07 19:52:

если бы Вы сказали -- PHP не располагает готовым функционалом, вопрос был бы давно закрыт.
Если бы вы сказали, что прекрасно представляете алгоритм перевода часов в секунды и обратно, а так же пояснили причину, по которой не желаете этот алгоритм реализовывать, вопрос был бы давно закрыт.

рекомендую внимательно прочесть сказанное мной.
и примерить на себя.
 

Игорь

Новичок
Автор оригинала: kruglov
Еще таблицы склонны иметь индексы.

Вообще, в вашей задаче я практически ничего не понял, в запросе вы узнаете максимальное время из кучи записей. Прекрасно. Наверное, для удовлетворения мутного ТЗ так и надо...

Но я совершенно не понимаю, как вообще вычисление времени, на секунду большее, чем некое данное, может быть альтернативой нахождению максимального времени из таблицы?
Ну с индексами и агрегатными функциями тоже не всё так просто. Про время поясню. Давайте выкинем мастер-детейл. Так вот, надо получить ещё одно значение времени, на секунду большее, чем в последней записи. Записи отсортированы по времени. Для этого нужно увеличить время в последней записи на единицу.

А ещё можно это сделать средствами РСУБД. Выбираем максимальное значение, что равно последней строке в наборе данных, и увеличиваем количество секунд на единицу.
 

Игорь

Новичок
Фанат, я полностью удовлетворён ответами. Но вот форма подачи... несколько смущает.
 

Фанат

oncle terrible
Команда форума
Игорь
Тебе никогда не приходило в глолову, что своим тоном ты провоцируешь такую "форму подачи"?
 

Anarki

Новичок
Игорь
>логично в 00:00:00
прикольно

PHP:
<?php
$tim = explode(':','14:15:34');
echo date('H:i:s',mktime($tim[0],$tim[1],$tim[2],1,1,1970)+1);
?>
 

romy4

invoke [brain]
Т.к. в мастер запросе приходится вызывать функцию max, а эта функция, как известно, очень ресурсоёмка
ну не знаю, у меня на поле типа флоат из чуть более чем 1млн записей выполняется за время в 1 секунду.
я думаю, что вы зря её боитесь
 

Игорь

Новичок
Благодарю. Просто мигрировал на PstgreSQL с Oracle, пока не знаю, чего от него ожидать под реальной нагрузкой.

kruglov -- отличная мысль. Мне, как человеку привыкшему обходится без limit такое решение что-то в голову не приходило.

Anarki -- исчерпывающий ответ. Добавить ко времени фиктивную дату, конвертнуть в unix timestamp, инкрементировать и загнать обратно в строку. Это именно то, что мне хотелось изобразить.
 

StUV

Rotaredom
Anarki -- исчерпывающий ответ. Добавить ко времени фиктивную дату, конвертнуть в unix timestamp, инкрементировать и загнать обратно в строку. Это именно то, что мне хотелось изобразить.
Игорь
есть правила форума
если бы вы им следовали - получили бы это решение за 5 мин.
все ваши отмазки про "нет времени на изучение", "форум предназначен для ..." - бессмысленны
это я к тому, что следущий ваш подобный вопрос, ответ на который есть в мане - будет сразу закрыт
 

Igor aka TiGR

Новичок
А зачем вообще прибавлять секунду? Так, по ходу с функцией strtotime не пересекались? Хотя тут можно и без неё прекрасно обойтись... В принципе, обойтись то можно, но это неважно. Важно лишь - а нужно ли?
 

Фанат

oncle terrible
Команда форума
Igor aka TiGR
Скорее всего, что, действительно, не нужно.
Но что-то объяснить этому человеку насолько сложно, что лучше уж действительно - закрыть тему.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху