Jodatime 一天的开始和结束

2022-08-31 21:05:25

我想在本周开始和当前一周结束之间创建一个间隔。

我有以下代码,借用了这个答案

private LocalDateTime calcNextSunday(LocalDateTime d) {
    if (d.getDayOfWeek() > DateTimeConstants.SUNDAY) {
        d = d.plusWeeks(1);
    }
    return d.withDayOfWeek(DateTimeConstants.SUNDAY);
}

private LocalDateTime calcPreviousMonday(LocalDateTime d) {
    if (d.getDayOfWeek() < DateTimeConstants.MONDAY) {
        d = d.minusWeeks(1);
    }
    return d.withDayOfWeek(DateTimeConstants.MONDAY);
}

但现在我希望星期一在00:00:00,星期天在23:59:59。我该怎么做?LocalDateTimeLocalDateTime


答案 1

您可以使用以下方法:withTime

 d.withTime(0, 0, 0, 0);
 d.withTime(23, 59, 59, 999);

与彼得的回答相同,但更短。


答案 2

还有一个简单的方法是

d.millisOfDay().withMaximumValue();


推荐