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

자바 8부터는 자바 개발자들에게 많은 새로운 기능을 제공합니다. 그 중 하나는 java.time 패키지에 추가된 LocalTime 클래스입니다. 이 클래스는 시간 정보를 표현하고 조작하는 데 사용됩니다. 이번 블로그에서는 LocalTime 클래스의 기능과 활용 방법에 대해 알아보겠습니다.

LocalTime 클래스 소개

LocalTime 클래스는 시간을 나타내는 불변 클래스로, 시간을 시, 분, 초, 밀리초 단위로 표현할 수 있습니다. 시간대(time zone)에 독립적이며, 24시간 형식으로 표시됩니다. 예를 들어, 12:34:56이라는 시간을 표현하기 위해서는 LocalTime.of(12, 34, 56)과 같이 사용할 수 있습니다.

LocalTime 인스턴스 생성하기

LocalTime 클래스의 인스턴스를 생성하는 방법은 다양합니다.

현재 시간 가져오기

LocalTime currentTime = LocalTime.now();

위의 코드는 현재 시간을 가져와 currentTime 변수에 저장합니다. 이를 통해 현재 시간을 기준으로 다양한 연산을 수행할 수 있습니다.

시간 지정하기

LocalTime specificTime = LocalTime.of(9, 30, 0);

위의 코드는 9시 30분 0초를 나타내는 LocalTime 인스턴스를 생성합니다.

시간 연산하기

LocalTime 클래스는 시간 간의 연산을 수행할 수 있는 다양한 메서드를 제공합니다.

시간 더하기

LocalTime newTime = currentTime.plusHours(2);

위의 코드는 현재 시간에 2시간을 더한 시간을 newTime 변수에 저장합니다. plusMinutes(), plusSeconds(), plusMillis() 등의 메서드를 사용하여 분, 초, 밀리초 단위로도 시간을 더할 수 있습니다.

시간 비교하기

boolean isBefore = currentTime.isBefore(specificTime);

위의 코드는 currentTimespecificTime보다 이전인지 확인하는 조건을 만들어 isBefore 변수에 저장합니다. isAfter() 메서드를 사용하면 반대로 시간이 이후인지를 확인할 수 있습니다.

시간 형식 변경하기

LocalTime 클래스는 특정한 형식으로 시간을 표시하는 기능도 제공합니다.

문자열로 변환하기

String timeString = currentTime.toString(); // "13:45:30"

위의 코드는 LocalTime 인스턴스를 문자열로 변환하여 timeString 변수에 저장합니다.

패턴을 이용한 형식 변경

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
String formattedTime = currentTime.format(formatter); // "13:45:30"

위의 코드는 DateTimeFormatter 클래스를 사용하여 LocalTime 인스턴스를 “HH:mm:ss” 형식으로 변환한 후 formattedTime 변수에 저장합니다. 패턴에 따라 여러가지 형식으로 시간을 표현할 수 있습니다.

결론

LocalTime 클래스는 자바 8부터 추가된 시간 관련 클래스 중 하나로, 시간을 표현하고 조작하는 데 유용합니다. 이번 포스트에서는 LocalTime 클래스의 기능과 사용 방법을 소개했습니다. 다양한 라이브러리와 함께 활용하면 다양한 시간 관련 작업을 보다 쉽게 처리할 수 있습니다. 자세한 내용은 Java 공식 문서를 참고해주세요.