LocalDateTime
LocalDateTime은 java에서 날짜와 시간에 대한 정보를 다룰 때 사용할 수 있는 class로서 java8 부터 지원되기 시작한 API에 해당한다.
다음과 같은 코드들을 작성함으로서 아주 편리하게 날짜와 시간에 대한 정보를 java code 상에서 다룰 수 있게 된다.
LocalDateTime currentDateTime = LocalDateTime.now();
위와 같이 LocalDateTime Class가 가지는 .now() method를 사용하면 해당 코드를 실행하는 로컬 컴퓨터의 현재 날짜와 시간정보를 로딩하여 LocalDateTime Object에 저장한다. 아래와 같은 코드를 실행해보면 현재날짜와 시간에 대한 정보를 간단하게 다룰 수 있게 된다.
import java.time.*;
public class Exercise {
public static void main(String[] args) {
LocalDateTime currentTime = LocalDateTime.now();
System.out.println("current Time = " + currentTime);
}
}
위와 같이 코드를 작성하여 실행한 경우 아래와 같은 실행결과를 얻을 수 있게 된다.
위의 실행결과에서 확인할 수 있듯이 우선 날짜에 대한 정보가 출력되고 그 뒤에 "T"문자 뒤로 현재 시간에 대한 값이 이어지는 것을 확인할 수 있으며, nano second 단위까지 측정하여 그 결과를 출력해주고 있는 것을 확인할 수 있다.
또한 LocalDateTime Class는 쉽게 특정 날짜나 시간값을 더하거나 뺄 수 있는 method를 제공한다.
1. plusYears()
2. plusMonths()
3. plusWeeks()
4. plusDays()
5. plusHours()
6. plusMinutes()
7. plusSeconds()
8. plusNanos()
1. minusYears()
2. minusMonths()
3. minusWeeks()
4. minusDays()
5. minusHours()
6. minusMinutes()
7. minusSeconds()
8. minusNanos()
위를 통해 확인할 수 있듯이 날짜나 시간에 특정값을 더하거나 뺄 수 있는 다양한 method가 지원되는 데 여기서 해당 method의 parameter로 어떤 값을 넘겨주느냐에 따라서 특정시간 단위를 얼마나 빼거나 더할지를 정할 수 있다. 그리고 해당 method는 이에 대한 계산 결과를 LocalDateTime Object의 형태로 return 하게 된다.
또한 LocalDateTime Class가 가지는 몇가지 method를 사용함으로서 날짜와 시간값에 대한 비교 및 계산을 수행할 수 있다.
.isBefore(LocalDateTime)
해당 method를 호출한 LocalDateTime Object의 시간값이 Parameter로 전달된 LocalDateTime Object의 시간값 보다 이전 시간인지에 대한 여부를 boolean 값으로 반환
.isEqual(LocalDateTime)
해당 method를 호출한 LocalDateTime Object의 시간값이 Parameter로 전달된 LocalDateTime Object와 동일한 날짜 및 시간값을 가지는 가에 대한 여부를 boolean 값으로 반환
.isAfter(LocalDateTime)
해당 method를 호출한 LocalDateTime Object의 시간값이 Parameter로 전달된 LocalDateTime Object의 시간값 보다 이후 시간인지에 대한 여부를 boolean 값으로 반환
.between(LocalDateTime)
Period Class에 의해 호출되는 method, 두 LocalDate 사이의 차이값을 계산하여 Period Object 형태로 반환한다.
import java.time.*;
public class Exercise {
public static void main(String[] args) {
LocalDate startDate = LocalDate.now();
LocalDate endDate = LocalDate.of(2019,12,13);
Period period = Period.between(startDate, endDate);
System.out.println(period);
}
}
위의 계산방식은 첫번째 parameter로 주어진 startDate가 두번째 parameter로 주어진 endDate에 비해 1년 6개월 15일 이전의 날짜임을 의미한다. 즉, 첫번째 parameter에서 두번째 parameter를 뺀다는 느낌으로 접근하면 이해하기 쉬울 것이다.
'Web Backend > Java' 카테고리의 다른 글
enum (0) | 2021.06.28 |
---|---|
Map & HashMap의 차이점 (0) | 2021.06.28 |
String.split() method (0) | 2021.06.28 |
String.valueOf( ) method (0) | 2021.06.28 |
String.join() method (0) | 2021.06.28 |
댓글
이 글 공유하기
다른 글
-
enum
enum
2021.06.28 -
Map & HashMap의 차이점
Map & HashMap의 차이점
2021.06.28 -
String.split() method
String.split() method
2021.06.28 -
String.valueOf( ) method
String.valueOf( ) method
2021.06.28