Java-使用Joda定义时间间隔
我必须对商业开放的时间间隔进行建模,例如:周一到周五10hs-18hs,并通过功能检查商业是否开放。我认为最合理的方法是使用Joda提供的类“Interval”,但我不能仅用天或小时来实例化Interval。我必须使用Joda。引用javadoc: 时间间隔表示两个瞬间之间的一段时间 因为“星期一10:00”不是一个瞬间,所以您不能使用Java-使用Joda定义时间间隔,java,date,time,jodatime,intervals,Java,Date,Time,Jodatime,Intervals,我必须对商业开放的时间间隔进行建模,例如:周一到周五10hs-18hs,并通过功能检查商业是否开放。我认为最合理的方法是使用Joda提供的类“Interval”,但我不能仅用天或小时来实例化Interval。我必须使用Joda。引用javadoc: 时间间隔表示两个瞬间之间的一段时间 因为“星期一10:00”不是一个瞬间,所以您不能使用Interval Joda Time library没有你想要的类,所以你必须自己编写 “必须使用JODA”的要求很简单,这意味着您的类应该使用LocalDate
Interval
Joda Time library没有你想要的类,所以你必须自己编写
“必须使用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
}
欢迎来到Stackoverflow!你能详细说明你的问题吗?用你的努力,比如代码或者其他什么,这样人们就能尽早发现你的问题并帮助你?谢谢原始海报还可以找到Joda的时间和使用类别,两者都捕获了与时间线无关的时间跨度。