JAVA

[Java] LocalDate에날짜 더하기고 빼기 (plusMonth, minusWeeks)

해니01_15 2023. 8. 10. 13:13

프로젝트를 진행하던 중 현재 날짜에서 4개월 더하기 혹은 2개월 빼기 등과 같은 메서드를 짜야했다. 개월 수는 int이고 현재 날짜는 Date인데 어떻게 하면 될까? 해서 찾아보았다. 

 

날짜 더하기

 

plusYears()

- 이 메서드를 호출한 LocalDate 객체에 년도(year)가 더해진 LocalDate 객체를 반환한다.

 

plusMonths()

- 이 메서드를 호출한 LocalDate 객체에 월(month)이 더해진 LocalDate 객체를 반환한다.

 

plusWeeks()

- 이 메서드를 호출한 LocalDate 객체에 주(week)가 더해진 LocalDate 객체를 반환한다.

 

plusDays()

- 이 메서드를 호출한 LocalDate 객체에 일(day)이 더해진 LocalDate 객체를 반환한다.

 

예시 

public static void main(String args[]) {

  LocalDate todayLocalDate = LocalDate.now();
  System.out.println("오늘 날짜: " + todayLocalDate);

  LocalDate YearsAfter = todayLocalDate.plusYears(5);
  System.out.println("5년 뒤: " + YearsAfter);

  LocalDate MonthsAfter = todayLocalDate.plusMonths(10);
  System.out.println("10개월 뒤: " + MonthsAfter);

  LocalDate WeeksAfter = todayLocalDate.plusWeeks(3);
  System.out.println("3주 뒤: " + WeeksAfter);

  LocalDate DaysAfter = todayLocalDate.plusDays(20);
  System.out.println("20일 뒤: " + DaysAfter);
}

 

그렇다면 빼기는? 

 

날짜 빼기 

 

minusYears()

- 이 메서드를 호출한 LocalDate 객체에 년도(year)를 뺀 LocalDate 객체를 반환한다.

 

minusMonths()

- 이 메서드를 호출한 LocalDate 객체에 월(month)을 뺀 LocalDate 객체를 반환한다.

 

minusWeeks()

- 이 메서드를 호출한 LocalDate 객체에 주(week)를 뺀 LocalDate 객체를 반환한다.

 

minusDays()

- 이 메서드를 호출한 LocalDate 객체에 일(day)를 뺀 LocalDate 객체를 반환한다.

 

public static void main(String args[]) {

  LocalDate todayLocalDate = LocalDate.now();
  System.out.println("오늘 날짜: " + todayLocalDate);

  LocalDate YearsBefore = todayLocalDate.minusYears(3);
  System.out.println("3년 전: " + YearsBefore);
 
  LocalDate MonthsBefore = todayLocalDate.minusMonths(9);
  System.out.println("9개월 전: " + MonthsBefore);

  LocalDate WeeksAfter = todayLocalDate.minusWeeks(3);
  System.out.println("3주 뒤: " + WeeksAfter);

  LocalDate DaysBefore = todayLocalDate.minusDays(25);
  System.out.println("25일 전: " + DaysBefore);
}