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

如何在TimePicker上创建两个时间范围?JAVA,java,time,timepicker,localtime,Java,Time,Timepicker,Localtime,我已经在Java上创建了一个时间选择器。我已经实现了否决一个射程时间(12小时到23.30小时)。但我想设定两个不同的可用时间范围,例如(12h到15h和19h到23h)。我创建此覆盖是为了实现创建一个可用时间范围: public class SampleTimeVetoPolicy implements TimeVetoPolicy { @Override     public boolean isTimeAllowed(LocalTime time) {         return P

我已经在Java上创建了一个时间选择器。我已经实现了否决一个射程时间(12小时到23.30小时)。但我想设定两个不同的可用时间范围,例如(12h到15h和19h到23h)。我创建此覆盖是为了实现创建一个可用时间范围:

public class SampleTimeVetoPolicy implements TimeVetoPolicy {


@Override
    public boolean isTimeAllowed(LocalTime time) {
        return PickerUtilities.isLocalTimeInRange(time,LocalTime.of(12,00),LocalTime.of(23,30),true);
    }
}
我不知道如何使这两个不同的范围

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

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

最“简单”的解决方案可能是执行以下操作

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

一个更健壮的解决方案是创建一个
TimeRange
类(获取范围的开始和结束时间)它有一个
包含
样式的方法,并构建一个
列表
,只需在列表上循环,直到完成循环或返回
false

返回PickerUtilities.isLocalTimeInRange(…)| PickerUtilities.isLocalTimeInRange(…)?你甚至可以创建一个
范围列表
,让生活更轻松!它与| |语句一起工作。我想我不能在回程线路上使用| |。太多了@AndresLuengoBlazquez如果您认为return语句中的
|
太难阅读,您可以编写一个
If
语句和两个或三个以上的
return
语句。在经验丰富的程序员中,
return
语句中的
|
&
是很常见的(有时也会过度使用IMHO)。