java - 如何使用 Java 8 计算当前时间和下周六之间的秒数

标签 java java-8 java-time

我需要实现功能

int secondsTillNextSaturday(LocalDateTime start);

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

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

最佳答案

可以使用 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());
}

关于java - 如何使用 Java 8 计算当前时间和下周六之间的秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43665315/

相关文章:

java - mp3 文件格式

java - Element web-app 必须在 Intellij 中声明错误

java - 参数类型为 A 或 B 的类

java - 将 ZoneId 和时间戳转换为 java 8 中的格式化日期字符串,考虑夏令时

java - 如何将 java.time.ZonedDateTime 转换为 XMLGregorianCalendar?

java - 如何在 Java 中获取时间的年份

Java:在嵌入式 Tomcat 上测试 Web 应用程序(Tomcat 无法启动)

java - PSQL异常 : ERROR: insert or update on table "*" violates foreign key constraint

Java 8 日期/时间 (JSR-310) 类型与 Spring Data MongoDB 的映射

java.security.InvalidKeyException : Wrong key size during decryption