How to get last and current quarter first dates for given date in java
import java.time.LocalDate;
import java.time.Month;
public class QuarterDates {
public static void main(String[] args) {
LocalDate givenDate = LocalDate.of(2024, 4, 19); // Example given date
LocalDate lastQuarterFirstDate = getLastQuarterFirstDate(givenDate);
LocalDate currentQuarterFirstDate = getCurrentQuarterFirstDate(givenDate);
System.out.println("Last quarter first date: " + lastQuarterFirstDate);
System.out.println("Current quarter first date: " + currentQuarterFirstDate);
}
public static LocalDate getLastQuarterFirstDate(LocalDate date) {
int quarter = (date.getMonthValue() - 1) / 3; // Determine the current quarter
int year = date.getYear();
if (quarter == 0) {
year--;
quarter = 3;
} else {
quarter--;
}
return LocalDate.of(year, Month.of(quarter * 3 + 1), 1); // First day of the quarter
}
public static LocalDate getCurrentQuarterFirstDate(LocalDate date) {
int quarter = (date.getMonthValue() - 1) / 3; // Determine the current quarter
int year = date.getYear();
return LocalDate.of(year, Month.of(quarter * 3 + 1), 1); // First day of the quarter
}
}
New contributor