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

Via*_*mov 4 java java-8 java-time

我需要实现功能

int secondsTillNextSaturday(LocalDateTime start);
Run Code Online (Sandbox Code Playgroud)

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

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

Rus*_*dov 9

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

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