Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Сложение временных интервалов, с учетом пересечений
vagrand  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2667
Пользователь №: 18145
На форуме: 7 лет, 5 месяцев, 12 дней
Карма: 84




Всем привет.
Немного зашел в тупик с алгоритмом, буду признателен за любую помощь.
Суть задачи такова, есть список временных интервалов, например:
1) 2016-05-13 12:00:00 - 2016-05-13 13:00:00 = 1 час
2) 2016-05-13 12:30:00 - 2016-05-13 13:30:00 = 1 час
3) 2016-05-13 13:00:00 - 2016-05-13 14:00:00 = 1 час

Т.е. если просто сложить эит интервалы, то выйдет 3-и часа, но мне еще нужно вычесть все пересечения, т.е. первый интервал берем полностью, от второго интервала берем только 30 минут, поскольку остальные 30 входят в первый интервал, и от третьего берем тоже только 30 минут, потому как вторые тридцать входят во второй интервал. Итого в итоге у меня должно получится 2 часа, а не три.

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


--------------------
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
vagrand  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2667
Пользователь №: 18145
На форуме: 7 лет, 5 месяцев, 12 дней
Карма: 84




Ну в общем как это обычно и бывает стоит только запостить вопрос, как сам сразу и находишь ответ.
Если кому интересно вот описание очень полезной либы, которая имеет все необходимые инструменты для решения проблемы:
http://www.codediesel.com/algorithms/perio...ge-api-for-php/


--------------------
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса