我刚发现Instant#ofEpochSecond(epochSecond)有最小值/最大值.

下面是源代码.

// Instant.java
    /**
     * The minimum supported epoch second.
     */
    private static final long MIN_SECOND = -31557014167219200L;
    /**
     * The maximum supported epoch second.
     */
    private static final long MAX_SECOND = 31556889864403199L; // << I WANT THIS VALUE!

我如何才能以编程方式获得MAX_SECOND

我试着算出Range

        final var range = ChronoField.INSTANT_SECONDS.range();
        log.debug("        minimum: {}", range.getMinimum());
        log.debug(" largestMinimum: {}", range.getLargestMinimum());
        log.debug("        maximum: {}", range.getMaximum());
        log.debug("smallestMaximum: {}", range.getSmallestMaximum());

而且运气不好.

03:53:36.120 [                main] DEBUG -         minimum: -9223372036854775808
03:53:36.122 [                main] DEBUG -  largestMinimum: -9223372036854775808
03:53:36.122 [                main] DEBUG -         maximum: 9223372036854775807
03:53:36.122 [                main] DEBUG - smallestMaximum: 9223372036854775807

推荐答案

您可以获得最大/分钟秒,如下所示:

import java.time.Instant;


long maxSecond = Instant.MAX.getEpochSecond(); 
long minSecond = Instant.MIN.getEpochSecond();

Java相关问答推荐

Intellij显示项目语言级别最高为12,尽管有java版本17 SDK

JUnit—如何模拟局部变量对象方法调用

如何调用Firebase Realtime Database中的子图像列表到android studio中的回收器视图?

为什么在枚举中分支预测比函数调用快?

Java 21 struct 化连接货币,需要可预知的子任务异常排序

从Spring5迁移到Spring6:无法在雅加达包中找到类

如何使用带有谓词参数的方法,而不使用lambda表达式

GetChildren().emoveAll()不会删除 node

Log4j与jdk21兼容吗?

是否在settings.xml中使用条件Maven镜像?

Dijkstra搜索算法的实现

将stringBuilder + forloop转换为stream + map

项目react 堆中doOnComplete()和Subscribe()的第三个参数之间的差异

根据应用程序 Select 的语言检索数据

我们可以在方法中声明接口吗?

如何使用jOOQ在PostgreSQL中从枚举类型生成Java枚举

由于版本不匹配,从Java 8迁移到Java 17和Spring 6 JUnit4失败

获取月份';s在java中非UTC时区的开始时间和结束时间

将Optionals/null安全添加到嵌套的flatMap/流

Spring Boot应用程序中的自定义constraintvalidator不会被调用