[java] 자바 8부터 추가된 LocalDateTime 클래스의 활용 방법

자바 8부터는 날짜와 시간을 다루기 위한 새로운 클래스들이 추가되었습니다. 그 중 하나인 LocalDateTime 클래스는 날짜와 시간을 모두 표현할 수 있는 다용도 클래스로 많은 유용한 메서드를 제공합니다. 이번 글에서는 LocalDateTime 클래스의 기본 사용법과 몇 가지 예시를 살펴보겠습니다.

LocalDateTime 객체 생성하기

LocalDateTime 객체를 생성하기 위해서는 of 메서드를 사용합니다. 다음은 2022년 7월 1일 오후 2시 30분을 나타내는 예시입니다.

LocalDateTime dateTime = LocalDateTime.of(2022, 7, 1, 14, 30);

위 코드에서 of 메서드의 매개변수로 연도, 월, 일, 시간, 분을 입력하여 LocalDateTime 객체를 생성하였습니다.

현재 날짜와 시간 가져오기

LocalDateTime.now() 메서드를 사용하면 현재 날짜와 시간을 LocalDateTime 객체로 가져올 수 있습니다. 아래 예시는 현재 날짜와 시간을 출력하는 예시입니다.

LocalDateTime currentDateTime = LocalDateTime.now();
System.out.println("현재 날짜와 시간: " + currentDateTime);

날짜와 시간 연산하기

LocalDateTime 클래스는 날짜와 시간을 연산하는 메서드들을 제공합니다. 가장 많이 사용되는 메서드 중 하나는 plus 메서드로, 날짜와 시간에 일정한 기간을 더할 수 있습니다. 다음 예시는 현재 날짜와 시간에 1년 3개월 5일을 더한 결과를 출력하는 예시입니다.

LocalDateTime currentDateTime = LocalDateTime.now();
LocalDateTime newDateTime = currentDateTime.plusYears(1).plusMonths(3).plusDays(5);
System.out.println("1년 3개월 5일 후: " + newDateTime);

LocalDateTime 객체를 다른 형식으로 변환하기

LocalDateTime 객체를 다른 형식으로 변환하기 위해서는 format 메서드를 사용합니다. DateTimeFormatter 클래스를 사용하여 변환하려는 형식을 지정할 수 있습니다. 다음 예시는 LocalDateTime 객체를 “yyyy/MM/dd HH:mm:ss” 형식으로 변환하는 예시입니다.

LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
String formattedDateTime = dateTime.format(formatter);
System.out.println("형식 변환된 날짜와 시간: " + formattedDateTime);

결론

자바 8부터 추가된 LocalDateTime 클래스를 활용하면 날짜와 시간을 편리하게 다룰 수 있습니다. 이번 글에서는 클래스의 기본 사용법과 몇 가지 예시를 살펴보았지만, 더 복잡한 기능들도 많이 존재합니다. 관련 문서와 자바 공식 홈페이지를 참고하여 더욱 자세히 공부하시기 바랍니다.

참고 자료