Как получить список оставшихся интервалов после вычитания интервала из базового интервала времени - PullRequest
0 голосов
/ 20 февраля 2019

Существует ли какой-либо подход в java, с помощью которого я могу перечислить оставленные интервалы времени после удаления интервала суб-времени из базового интервала времени.

Пример: считать, что присутствует временной интервал от 0 до 24 часов, и если я уберу время с 10 AM до 12AM, то оставшиеся интервалы времени должны быть 0-10и 12-24.

В этом случае базовый интервал составляет 0-24 часа.

1 Ответ

0 голосов
/ 20 февраля 2019

Я не нашел метода для этого ни в библиотеке Joda, ни в SDK.

В основном интервал определяется как метка времени начала и окончания.Метод вычитания может иметь такую ​​логику:

Базовый интервал (s1, e1)

Интервал вычитания (s2, e2)

Если s1<s2 и e2<e1, то дополнитьинтервалы (s1, s2) и (e2, e1)

, если s2<s1 и e2<e1, тогда дополнение (e2, e1)

, если s1<s2 и e1<e2, тодополнение: (s1, s2)

Если основание находится внутри вычтенного, тогда дополнение будет нулевым

Если результат пересечения не является базовым интервалом.

enter image description here

...