Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-使用Joda定义时间间隔_Java_Date_Time_Jodatime_Intervals - Fatal编程技术网

Java-使用Joda定义时间间隔

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

我必须对商业开放的时间间隔进行建模,例如:周一到周五10hs-18hs,并通过功能检查商业是否开放。我认为最合理的方法是使用Joda提供的类“Interval”,但我不能仅用天或小时来实例化Interval。我必须使用Joda。

引用javadoc:

时间间隔表示两个瞬间之间的一段时间

因为“星期一10:00”不是一个瞬间,所以您不能使用
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的时间和使用类别,两者都捕获了与时间线无关的时间跨度。