ADDITIONAL SYSTEM INFORMATION :
Windows Java 8
A DESCRIPTION OF THE PROBLEM :
LocalDate previousQuarterDate = LocalDate.of(2018,6,30).minus(Period.ofMonths(3));
This should give me 03/31/2018, instead we are getting 03/30/2018
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
LocalDate previousQuarterDate = LocalDate.of(2018,6,30).minus(Period.ofMonths(3));
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
03/31/2018
ACTUAL -
03/30/2018
---------- BEGIN SOURCE ----------
import java.time.Duration;
import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
import java.time.Period;
public class HelloWorld{
public static void main(String []args){
LocalDate previousQuarterDate = LocalDate.of(2018,6,30).minus(Period.ofMonths(3));
System.out.println(previousQuarterDate);
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
import java.time.Duration;
import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
import java.time.Period;
public class HelloWorld{
public static void main(String []args){
LocalDate previousQuarterDate = LocalDate.of(2018,6,30).minus(Period.ofMonths(3)).with(TemporalAdjusters.lastDayOfMonth());;
System.out.println(previousQuarterDate);
}
}
Windows Java 8
A DESCRIPTION OF THE PROBLEM :
LocalDate previousQuarterDate = LocalDate.of(2018,6,30).minus(Period.ofMonths(3));
This should give me 03/31/2018, instead we are getting 03/30/2018
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
LocalDate previousQuarterDate = LocalDate.of(2018,6,30).minus(Period.ofMonths(3));
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
03/31/2018
ACTUAL -
03/30/2018
---------- BEGIN SOURCE ----------
import java.time.Duration;
import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
import java.time.Period;
public class HelloWorld{
public static void main(String []args){
LocalDate previousQuarterDate = LocalDate.of(2018,6,30).minus(Period.ofMonths(3));
System.out.println(previousQuarterDate);
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
import java.time.Duration;
import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
import java.time.Period;
public class HelloWorld{
public static void main(String []args){
LocalDate previousQuarterDate = LocalDate.of(2018,6,30).minus(Period.ofMonths(3)).with(TemporalAdjusters.lastDayOfMonth());;
System.out.println(previousQuarterDate);
}
}