Please ignore the email. I need to pass the TimeZone for calculation,
otherwise it was taking the system default timezone which changes during
DayLight Saving.

Thanks,
Sujan

On Mon, 6 Nov 2023 at 16:35, Sujan Biswas <ripan...@gmail.com> wrote:

> Hi Team,
>
> Please find the below test case and observation which seems to be a bug in
> the DurationFormatUtils class. If you look at the calculated duration it
> says "Duration : *00-11130235300000*" with output format as
> yyyyMMddHHmmssSSS.
>
> <groupId>org.apache.commons</groupId>
> <artifactId>commons-lang3</artifactId>
> <version>3.12.0</version>
> <scope>provided</scope>
>
> @Test
> void getElapsedTimerTest() {
>
> String DATE_TIME_FORMAT = "yyyyMMddHHmmssSSS";
> long startEpochMillis = 1698541052000L; //Date and time (GMT): Sunday, 29
> October 2023 00:57:32
> long endEpochMillis = 1698544232000L; //Date and time (GMT): Sunday, 29
> October 2023 01:50:32
>
> String duration = DurationFormatUtils.formatPeriod(startEpochMillis,
> endEpochMillis, DATE_TIME_FORMAT);
>
> System.out.println("Start Time : " + Instant.ofEpochMilli
> (startEpochMillis));
> System.out.println("End Time : " + Instant.ofEpochMilli(endEpochMillis));
> System.out.println("Duration : " + duration);
>
>
> }
>
> Console Output:
>
> Start Time : 2023-10-29T00:57:32Z End Time : 2023-10-29T01:50:32Z Duration
> : *00-11130235300000*
>
> Regards,
> Sujan Biswas
>

Reply via email to