在java.time.LocalTime之间(第二天)

Andrii Karaivanskyi:

请建议是否提供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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章