<i18n dev> RFR: 8337279: Optimize format instant [v2]

Stephen Colebourne scolebourne at openjdk.org
Sun Jul 28 13:39:32 UTC 2024


On Fri, 26 Jul 2024 15:32:18 GMT, Shaojin Wen <duke at openjdk.org> wrote:

>> src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java line 3818:
>> 
>>> 3816:             }
>>> 3817:             // add fraction
>>> 3818:             if (fractionalDigits > 0) {
>> 
>> This breaks the logic. `fractionalDigits` can be negative in the block below
>
> If fractionalDigits < 0, printNano is implemented in LocalDateTime

`fractionalDigits == -2` is used to output 0, 3, 6 or 9 fractional digits as needed. This can be handled by `LocalDateTime`.

`fractionalDigits == -1`  is used to output as many fractional digits as needed, from 0 to 9 digits. This is NOT handled by `LocalDateTime`.

Furthermore, if the `-2` branch is handled by `LocalDateTime` then the logic below for `-2` is redundant.

If the tests did not fail as a result of this change, then I imagine the tests need improving.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20353#discussion_r1694248869


More information about the i18n-dev mailing list