java - 检查 joda.time.Interval 是否正好跨越 1 个日历周的更好方法(考虑夏令时等)

标签 java jodatime

有更好的方法吗?

boolean oneCalendarWeek = interval.getStart().plusWeeks(1).equals( interval.getEnd() );

我猜由于 equals 的实现方式,以下内容将不起作用......

boolean oneCalendarWeek = interval.toPeriod().equals( Weeks.ONE );

最佳答案

来自评论:

i really want to know if the api supports something like my second example which i think is clearer than the first

虽然使用 Weeks.ONE 的示例不起作用(因为 Period.equals() 首先检查两个 Period 实例是否支持相同数量的字段,并且 Weeks.ONE 仅支持一个字段),这应该有效:

boolean oneCalendarWeek = interval.toPeriod().equals( Period.weeks(1) );

Here is a code sample测试在 DST 开始之前开始并在 DST 期间结束的时间间隔。但是,我不能 100% 确定如果间隔的开始或结束时间恰好落在 DST 边界上,这会如何表现。

关于java - 检查 joda.time.Interval 是否正好跨越 1 个日历周的更好方法(考虑夏令时等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5877226/

相关文章:

java-8 - Joda-Time 到 Java 8 的 DateTimeZone 中的 UTC 到本地方法

java - 从 java.util.date 转换为 JodaTime

java - JodaTime 计算一周总工作时间

java - JodaTime中如何获取 native 的时区?

java - 使用 Ivy API 获取最新版本的依赖项?

java - 在同一方法上使用 @Secured 和 @RequestMapping 时出现 ClassFormatError

java - 更改 Activity 时保持所有值不变

java - 为什么当我将 JList 插入到带有 GridLayout 的对话框中时组件变大?

java - 更改 Apache POI 中单元格注释的大小

java - JodaTime 的 Math.max(...)