请建议是否提供API支持来确定我的时间是否在2个LocalTime
实例之间,或者建议采用其他方法。
我有这个实体:
class Place {
LocalTime startDay;
LocalTime endDay;
}
它存储工作日的开始和结束时间,即从“ 9:00”到“ 17:00”,或者存储从“ 22:00”到“ 5:00”的夜总会。
我需要实现一种Place.isOpen()
确定该场所在给定时间是否开放的方法。
一个简单的isBefore
/ isAfter
在这里不起作用,因为我们还需要确定结束时间是否在第二天。
当然,我们可以比较开始时间和结束时间并做出决定,但是我想要一些没有附加逻辑的东西,只是一个简单的between()
调用。如果LocalTime
不足以达到此目的,请建议其他。
如果我理解正确,则需要根据关闭时间是在开放时间的同一天(9-17)还是在隔天的开放时间(22-5)做出两种情况。
它可能只是:
public static boolean isOpen(LocalTime start, LocalTime end, LocalTime time) {
if (start.isAfter(end)) {
return !time.isBefore(start) || !time.isAfter(end);
} else {
return !time.isBefore(start) && !time.isAfter(end);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句