How to get last and current quarter first dates for given date in java

  Kiến thức lập trình

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

vikram katabathini is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

LEAVE A COMMENT