По моему опыту (в основном, системам сбора данных о времени), отсутствие надлежащей библиотеки поддержки "Span" приводит к появлению ошибок из окна.
Мой совет: создайте класс Span, предусмотрите его для обработки инклюзивных и эксклюзивных конечных точек с самого начала. Часто очень важно иметь возможность создавать пролеты с различной семантикой включения: январь = диапазон (1/1, 31/1) = диапазон (1/1, 1/2 (, ....
)