본문으로 건너뛰기

Java LocalDateTime 날짜/시간 더하기

LocalDateTime, LocalDate 객체에 날짜, 시간을 더하거나 빼는 방법입니다.

1. LocalDateTime plus, minus 함수

LocalDateTime은 plus, minus 함수를 제공하며 날짜, 시간을 더하거나 뺄 수 있습니다.

  • plus/minusMonths()
  • plus/minusDays()
  • plus/minusHours()
  • plus/minusMinutes()
  • plus/minusSeconds()
import java.time.LocalDateTime;

public class Example {
public static void main(String[] args) {

LocalDateTime now = LocalDateTime.now();
System.out.println(now);

LocalDateTime result = now.plusYears(10)
.plusMonths(10)
.plusDays(10)
.plusHours(10)
.plusMinutes(10)
.plusSeconds(10);
System.out.println(result);

result = now.minusYears(10)
.minusMonths(10)
.minusDays(10)
.minusHours(10)
.minusMinutes(10)
.minusSeconds(10);
System.out.println(result);
}
}

Output:

2022-12-17T06:17:00.495838939
2033-10-27T16:27:10.495838939
2012-02-06T20:06:50.495838939

2. LocalDate plus, minus 함수

LocalDate의 경우 날짜 정보만 갖고 있기 때문에 아래와 같은 함수만 제공합니다.

  • plus/minusMonths()
  • plus/minusDays()
  • plus/minusHours()
import java.time.LocalDate;

public class Example {
public static void main(String[] args) {

LocalDate now = LocalDate.now();
System.out.println(now);

LocalDate result = now.plusYears(10)
.plusMonths(10)
.plusDays(10);
System.out.println(result);

result = now.minusYears(10)
.minusMonths(10)
.minusDays(10);
System.out.println(result);
}
}

Output:

2022-12-17
2033-10-27
2012-02-07

2. 두개의 LocalDateTime 더하기, 합하기

두개의 LocalDateTime 객체에서 원하는 시간을 더할 수 있습니다.

예를 들어, date2에서 월/일/시간/분/초 정보를 가져와서 date1에 더할 수 있습니다.

import java.time.LocalDateTime;

public class Example {
public static void main(String[] args) {

LocalDateTime date1 = LocalDateTime.of(2020, 10, 20, 12, 10, 10);
System.out.println(date1);

LocalDateTime date2 = LocalDateTime.of(2020, 1, 5, 1, 15, 20);
System.out.println(date2);

LocalDateTime sum = date1.plusMonths(date2.getMonth().getValue())
.plusDays(date2.getDayOfMonth())
.plusHours(date2.getHour())
.plusMinutes(date2.getMinute())
.plusSeconds(date2.getSecond());
System.out.println(sum);
}
}

Output:

2020-10-20T12:10:10
2020-01-05T01:15:20
2020-11-25T13:25:30