当前位置: 首页 > 面试题库 >

Joda时间中的LocalDate间隔

柴茂材
2023-03-14
问题内容

Joda-time具有一个Interval类,该类介于DateTime之间。什么可以用于一系列LocalDate?

我想要一个表示例如“从2011年1月1日到2011年10月1日”的对象,而没有时间(或时区)进入画面。

据我所知,joda-time没有内置任何功能。如果不存在任何东西,而我们会创建它,它应该是什么样?最重要的是,它可以实现joda-
time的哪些接口以最好地集成到其他类型中,从而与joda-
time设计保持一致?ReadableInterval在哪里实现getStartgetEnd返回,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,以及交集操作。所有这些都经过测试和维护。



 类似资料:
  • 问题内容: 如何指定格式字符串以将日期单独转换为字符串。就我而言,只有日期部分是相关的 将其构造为失败: 有错误 可能是因为我应该改用。但是,我看不到任何格式化程序。什么是转换的最佳方式进入(或别的东西,如果这是不正确的表示) 谢谢… 问题答案: 您可能正在寻找。这有点令人困惑,因为它采用了通用类型,但是文档指出如果将a 传递给构造函数,它将使用一个知道如何处理a的a ,例如

  • 问题内容: 我正在使用Joda 2.5 将Joda LocalDate转换为LocalDateTime时遇到问题。 作为,我能够将TimeDateTime的LocalDate转换为DateTime。我想要相同的功能,但要通过LocalDateTime对象。 我的代码是: 假设Date来自不同的REST服务,例如 现在,此日期将传递到其他服务,如下所示: 我想要LocalDateTime对象,因为我

  • 我正在尝试使用Joda在一个简单的Java程序中获取UTC时间戳: 程序输出如下: 毫秒值是正确的UTC时间(即用时区确认)第二个值是时区。 我需要的是UTC值不变为(即独立于TZ),用于数据库写入。这可能吗? 我知道是本地日期(GMT-4),是UTC(GMT-0)。日期的输出值如下: 我尝试了所有组合,试图将的UTC值作为java.sql.TimeStamp: 用于测试的打印输出: 第一行是正确

  • 问题内容: 他们幸福地结婚了吗? 我正在使用最新版本的hibernate(4)和1.3版的joda-time hibernate支持,我也相信这是当前的最新版本。 使用批注时,一切似乎都正常(按预期方式创建了日期列): 一起使用这些版本是否存在任何已知问题? Update Well证明已创建列,但无法填充任何数据: 处理程序处理失败; 嵌套的异常是java.lang.AbstractMethodE