我刚发现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