You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程获取Instant#ofEpochSecond支持的最大秒数?

获取Instant类的MAX_SECOND常量值

我发现Instant#ofEpochSecond(epochSecond)方法对传入的纪元秒数有最小/最大值限制,其源码中定义了以下私有常量:

// Instant.java
    /**
     * 支持的最小纪元秒数
     */
    private static final long MIN_SECOND = -31557014167219200L;
    /**
     * 支持的最大纪元秒数
     */
    private static final long MAX_SECOND = 31556889864403199L; // << 我需要这个值!

我尝试通过编程获取MAX_SECOND的值,使用Range类实现了如下代码:

final var range = ChronoField.INSTANT_SECONDS.range();
        log.debug("        最小值: {}", range.getMinimum());
        log.debug("  最大最小值: {}", range.getLargestMinimum());
        log.debug("        最大值: {}", range.getMaximum());
        log.debug("  最小最大值: {}", range.getSmallestMaximum());

但输出结果不符合预期,得到的内容如下:

03:53:36.120 [                main] DEBUG -         最小值: -9223372036854775808
03:53:36.122 [                main] DEBUG -  最大最小值: -9223372036854775808
03:53:36.122 [                main] DEBUG -         最大值: 9223372036854775807
03:53:36.122 [                main] DEBUG -  最小最大值: 9223372036854775807

内容的提问来源于stack exchange,提问作者Jin Kwon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 15:13:30