8

JodaTime 中是否有 API 方法可以查看 DateTime 是否在 [start, end] 内,即包含边界?

我发现的唯一一件事是 new Interval(start, end).contains(dateTime) 但如果 dateTime 等于 end,这似乎是错误的。

4

1 回答 1

14

如果您需要经常这样做,最简单的方法是创建一个新的间隔,将旧的间隔延长一毫秒:

Interval inclusiveInterval = interval.withEndMillis(interval.getEndMillis() + 1);

或者只是使用

if (interval.contains(dateTime) || interval.getEnd().isEqual(dateTime))

(该isEqual方法忽略了年表和时区。)

于 2009-05-22T05:44:57.690 回答