On Period and DateTimeFormatter

Pavel Rappo pavel.rappo at gmail.com
Wed Jun 18 17:23:38 UTC 2025


We are talking about a period, not an interval. I used the word
"interval" in my previous email in the sense close to that def. #5
from your dictionary link:

> : a set of real numbers between two numbers either including or excluding one or both of them

So to me, an interval between two dates logically consists of all
(time) instants between its both ends.

Alright, your reply kinda tips the scales in favour of "it's just me".
Perhaps others don't have a similar issue with java.util.Period.

On Wed, Jun 18, 2025 at 4:15 PM David Alayachew
<davidalayachew at gmail.com> wrote:
>
> How does it not model an interval?
>
> Here is the official documentation.
>
> Obtains a Period consisting of the number of years, months, and days between two dates.
>
> https://docs.oracle.com/en/java/javase/24/docs/api/java.base/java/time/Period.html#between(java.time.LocalDate,java.time.LocalDate)
>
> And here is the dictionary definition.
>
> a space of time between events or states
>
> https://www.merriam-webster.com/dictionary/interval
>
>
> On Wed, Jun 18, 2025, 7:30 AM Pavel Rappo <pavel.rappo at gmail.com> wrote:
>>
>> Hello, I have two questions on java.time API.
>>
>> The first one is about documentation for java.time.Period. When I get
>> back to the API after a long period (no pun intended) of not using it,
>> it takes me a while to recall that Period does __NOT__ model an
>> interval between two specific points in time, such as vacation dates.
>> And the signature of the Period.between(LocalDate, LocalDate) method
>> makes it even harder.
>>
>> I'm not sure what it is. Is it because I'm a non-native English
>> speaker or it's some idiosyncrasy? Anyway, if it's not just me, then
>> my question is: would it make sense to provide a few short and punchy
>> notes to the reader to quickly rectify this misconception that might
>> be forming in their head while they are reading the documentation?
>> Sometimes it's helpful to say what something isn't in addition to
>> saying what something is.
>>
>>
>> The second question is about DateTimeFormatter. I recently had to
>> parse a date that resembles output of asctime: Sat Jul 16 02:03:55
>> +0000 1994. It's fine and dandy until you parse a date in September.
>> That time format expects "Sep", while the formatter expects "Sept".
>>
>> Now, I'm aware that it's a known issue [^1]. Still, I wonder if we can
>> do anything better than suggest using a specific locale, which is not
>> bulletproof, or going to the DateTimeFormatterBuilder route.
>>
>> Thanks,
>> -Pavel
>>
>> [^1]: See https://bugs.openjdk.org/browse/JDK-8256837 and its numerous
>> duplicates.


More information about the core-libs-dev mailing list