I am calculating time based on Hawaii timezone.I have test scenario where my current date is 2017-01-01T10:52:07.656-10:00 (January 1). When I try to get previous date using .minusDays(1) I get date as 2016-12-31T12:52:07.656-08:00 (December 31).
Now for previous date when I try to format in MM/DD/YYYY. I get output as 12/366/2016 instead of 12/31/2016
My code:
DateTime dt4 = new DateTime("2017-01-01T10:52:07.656-10:00");
System.out.println("Given Date:"+ dt4);
DateTimeFormatter fmt = DateTimeFormat.forPattern("MM/DD/YYYY");
System.out.println("Given Date After Date format: "+fmt.print(dt4));
DateTime previousDay = dt4.minusDays(1);
System.out.println("Previous Day: "+ previousDay);
System.out.println("Previous Date After Date format: "+fmt.print(previousDay));
O/p:
Given Date: 2017-01-01T12:52:07.656-08:00
Given date After Date format: 01/01/2017
Previous Day: 2016-12-31T12:52:07.656-08:00
Previous Date After Date format: 12/366/2016