【发布时间】:2010-10-28 03:28:32
【问题描述】:
JodaTime 中是否有 API 方法可以查看 DateTime 是否在 [start, end] 内,即是否包含边界?
我唯一发现的是 new Interval(start, end).contains(dateTime) 但如果 dateTime 等于 end,这似乎是错误的。
【问题讨论】:
JodaTime 中是否有 API 方法可以查看 DateTime 是否在 [start, end] 内,即是否包含边界?
我唯一发现的是 new Interval(start, end).contains(dateTime) 但如果 dateTime 等于 end,这似乎是错误的。
【问题讨论】:
如果您需要经常这样做,最简单的方法是创建一个新间隔,将旧间隔延长一毫秒:
Interval inclusiveInterval = interval.withEndMillis(interval.getEndMillis() + 1);
或者只是使用
if (interval.contains(dateTime) || interval.getEnd().isEqual(dateTime))
(isEqual 方法忽略了年表和时区。)
【讨论】:
interval.contains(...)?