如何获得 Instant#ofEpochSecond(?) 的最大值

Jin*_*won 2 java epoch instant java-time

我刚刚发现 具有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!
Run Code Online (Sandbox Code Playgroud)

我如何以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());
Run Code Online (Sandbox Code Playgroud)

并且没有运气。

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
Run Code Online (Sandbox Code Playgroud)

小智 7

您可以像这样获得最大/最小秒数:

import java.time.Instant;


long maxSecond = Instant.MAX.getEpochSecond(); 
long minSecond = Instant.MIN.getEpochSecond();
Run Code Online (Sandbox Code Playgroud)