2014-09-12 3 views
0

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

начало вал = 08-01-14 12:30:00 вал конец = 08-04-14 12:30:00

наш функция возвращает

min -> (08-01-14 12:30:00, 08-01-14 13:00:00) 
hour -> (08-01-14 13:00:00, 08-01-14 24:00:00) 
day -> (08-02-14 00:00:00, 08-03-14 24:00:00) 
hour -> (08-04-14 00:00:00, 08-04-14 12:00:00) 
min -> (08-04-14 12:00:00, 08-04-14 12:30:00) 

я рука свернутая реализацию, которая работает, но его немного запутано, я ищу а) существует библиотека, которая уже делает это? б) если нет, то какой был бы лучший способ реализовать это?

+0

Этими могущество i nterest: http://stackoverflow.com/a/17691356/390708 – Brian

ответ

0

Я считаю, что Jodatime поддерживает подсчет периодов времени/диапазонов; http://joda-time.sourceforge.net/apidocs/org/joda/time/Period.html

Я делал это раньше с Jodatime, это немного техническим, но, как Jodatime является УДИВИТЕЛЬНЫМ API для всего времени МОГЛИ в Java все разработчики должны использовать его - Было слухи о Jodatime замещающих Javas старых временных APIs ...

Введение: http://www.joda.org/joda-time/

EDIT: Вот то, что вы ищете: http://joda-time.sourceforge.net/apidocs/org/joda/time/Interval.html Если вы используете интервал Jodatime можно вычислить диапазон/интервал/период между двумя временными объектами

+0

Да, я играю с периодом и продолжительностью Jodatime, но не могу найти чистого решения –

+0

Chack my edit, Interval - это то, что вы ищете .. – TriXigT

+0

Прочтите это : http://stackoverflow.com/a/14547904/3911640 – TriXigT