如何在TimePicker上创建两个时间范围? JAVA

时间:2018-04-13 07:49:25

标签: java time timepicker localtime

我在Java上创建了一个TimePicker。我已经取得了否决一段时间(12小时到23.30小时)。但我想制作两个不同的可用时间范围,例如(12h到15h和19h到23h)。我创建了这个Override,用于创建一个可用的时间范围:

public class SampleTimeVetoPolicy implements TimeVetoPolicy {


@Override
    public boolean isTimeAllowed(LocalTime time) {
        return PickerUtilities.isLocalTimeInRange(time,LocalTime.of(12,00),LocalTime.of(23,30),true);
    }
}

我不知道如何制作这两个不同的范围。

我使用实际覆盖执行的示例:

Example of what I execute with the actual override:

谢谢大家! (使用的lib是lgooddatepicker)

1 个答案:

答案 0 :(得分:2)

最简单的"解决方案可能是做... ...

return PickerUtilities.isLocalTimeInRange(...) || PickerUtilities.isLocalTimeInRange(...);

更强大的解决方案是创建一个TimeRange类(采用范围的开始和结束时间),该类具有contains样式方法并构建List个并且只需循环遍历列表,直到完成循环或返回false