On Thu, 18 Sep 2025 22:31:17 GMT, Justin Lu <[email protected]> wrote:

>> Please review this PR which addresses an edge case for 
>> `GregorianCalendar.roll(int, int)` when the rolled amount would cause the 
>> hour to remain the same as before the call. After this change, the expected 
>> hour is returned. That is, rolling a full cycle for HOUR (12 hours) and 
>> HOUR_OF_DAY (24 hours) should keep the hour the same as before the call.
>> 
>> For example, a calendar with HOUR_OF_DAY == 15,
>> 
>> 
>> cal.roll(Calendar.HOUR_OF_DAY, 23);
>> cal.get(Calendar.HOUR_OF_DAY); // returns 14
>> 
>> 
>> cal.roll(Calendar.HOUR_OF_DAY, 24);
>> // Incorrectly returns 16. A full cycle is expected to return the starting 
>> hour (15)
>> cal.get(Calendar.HOUR_OF_DAY); 
>> 
>> 
>> cal.roll(Calendar.HOUR_OF_DAY, 25);
>> cal.get(Calendar.HOUR_OF_DAY); // returns 16
>
> Justin Lu has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   savings -> saving

Marked as reviewed by iris (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/27355#pullrequestreview-3242350227

Reply via email to