[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сложение временных интервалов
vagrand
Всем привет.
Немного зашел в тупик с алгоритмом, буду признателен за любую помощь.
Суть задачи такова, есть список временных интервалов, например:
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, фрагменты.
vagrand
Ну в общем как это обычно и бывает стоит только запостить вопрос, как сам сразу и находишь ответ.
Если кому интересно вот описание очень полезной либы, которая имеет все необходимые инструменты для решения проблемы:
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, фрагменты.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.