使用Joda或标准Java API检查日期是否在时间范围内

Eug*_*neP 16 java datetime date-range jodatime

我有第一次作为字符串'12:00:00'和另一个'19:00:00'.如何检查当天的时间部分是否在这些时间值内?

Mar*_*ren 50

使用Joda Time你可以做这样的事情:

DateTime start = new DateTime(2010, 5, 25, 12, 0, 0, 0);
DateTime end = new DateTime(2010, 5, 25, 21, 0, 0, 0);
Interval interval = new Interval(start, end);
DateTime test = new DateTime(2010, 5, 25, 16, 0, 0, 0);
System.out.println(interval.contains(test));
Run Code Online (Sandbox Code Playgroud)

  • 值得记住`interval.contains()`排除结束日期.见http://www.joda.org/joda-time/apidocs/org/joda/time/base/AbstractInterval.html#contains-org.joda.time.ReadableInterval- (7认同)

And*_*s_D -1

创建与“测试”日期同一天的开始时间和结束时间的日历实例。然后,您可以轻松比较日历对象以确定当前日期是在范围内还是之外。