Joda-time具有Interval类,介于DateTime之间。一系列LocalDate可以使用什么?
我想要一个对象,例如表示“从2011年1月1日到2011年10月1日”,而没有时间(或时区)进入画面。
据我所知,joda-time没有内置任何功能。
如果不存在任何东西,而我们会创建它,它应该是什么样?最重要的是,它可以实现joda-time的哪些接口(interface)以最好地集成到其他类型中,从而与joda-time设计保持一致?
实现ReadableInterval
(在getStart
和getEnd
返回DateMidnight
的地方)是否有意义?
最佳答案
我个人使用了Guava的Range类。
它支持开放范围。也可以指定包含或排除的范围。除其他众多可能性外,这些可能性还可以轻松地表示“日期之前”或“日期之后”。
开放式间隔示例。
Range<LocalDate> before2010 = Range.atMost(new LocalDate("2009-12-31"));
Range<LocalDate> alsoBefore2010 = Range.lessThan(new LocalDate("2010-01-01"));
它还提供了简单的测试谓词,例如contains和containsAll,以及交集操作。所有这些都经过测试和维护。
关于java - Joda时间中的LocalDate间隔,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4387549/