如何使用Java8计算当前和下周六之间的秒数

时间:2017-04-27 18:22:28

标签: java java-8 java-time

我需要实现功能

int secondsTillNextSaturday(LocalDateTime start);

这与它说的完全相同,计算到下周六相对于开始时间的秒数(如果开始已经是星期六,那么它应该返回到下一个星期六之后的秒数)。

例如,对于27.04.2017 00:00:00(星期四),它应该返回2 * 24 * 60 * 60。

1 个答案:

答案 0 :(得分:9)

可以使用java 8 time api轻松完成:

public long secondsTillNextSaturday(LocalDateTime start) {
    LocalDate nextSaturday = start.toLocalDate().with(TemporalAdjusters.next(DayOfWeek.SATURDAY));
    return ChronoUnit.SECONDS.between(start, nextSaturday.atStartOfDay());
}