我必须模拟商业开放的时间间隔,例如:星期一到星期五10hs-18hs,并通过功能检查商业是否开放。我认为最合理的是使用班级" Interval" Joda提供的,但我不能只用几天或几小时来实例化Interval。我必须使用Joda。
答案 0 :(得分:2)
引用Interval
的javadoc:
时间间隔表示两个瞬间之间的时间段。
自"周一10:00"不是一瞬间,你不能使用Interval
。
Joda-Time图书馆没有您想要的课程,因此您必须自己编写。
"的要求必须使用JODA"简单意味着您的类应该使用LocalDateTime
作为输入并使用Joda-Time来查询工作日和时间。
可以使用一个好的可重用类(例如名为OpenCalendar
):
OpenCalendar openCal = new OpenCalendar();
openCal.add(DateTimeConstants.MONDAY , new LocalTime(10, 0), new LocalTime(18, 0));
openCal.add(DateTimeConstants.TUESDAY , new LocalTime(10, 0), new LocalTime(18, 0));
openCal.add(DateTimeConstants.WEDNESDAY, new LocalTime(10, 0), new LocalTime(18, 0));
openCal.add(DateTimeConstants.THURSDAY , new LocalTime(10, 0), new LocalTime(18, 0));
openCal.add(DateTimeConstants.FRIDAY , new LocalTime(10, 0), new LocalTime(18, 0));
LocalDateTime now = LocalDateTime.now();
if (openCal.isOpen(now)) {
// code here
}