본문 바로가기
GD's IT Lectures : 기초부터 시리즈/자바(JAVA) 기초부터 ~

[자바(JAVA)] 날짜와 시간 처리

by GDNGY 2023. 4. 28.

20. 날짜와 시간 처리

자바에서 날짜와 시간을 처리하는 방법에는 여러가지가 있습니다. 이 강좌에서는 java.util.Date와 java.util.Calendar 클래스를 살펴보고, Java 8에서 도입된 java.time 패키지의 여러 클래스와 기능을 알아보겠습니다.

 

20.1. java.util.Date와 java.util.Calendar 클래스

Date 클래스는 1970년 1월 1일부터 현재까지의 시간을 밀리초 단위로 표현합니다. 이를 사용하여 현재 시간이나 특정 시간을 생성할 수 있습니다.

Date currentDate = new Date();
Date specificDate = new Date(1633036800000L);

Calendar 클래스는 날짜와 시간을 처리하는 데 더 많은 기능을 제공합니다. Calendar 인스턴스를 생성하려면 getInstance() 메소드를 사용해야 합니다.

Calendar calendar = Calendar.getInstance();

Calendar 클래스를 사용하면 날짜 및 시간 정보를 가져오거나 설정할 수 있습니다.

int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

calendar.set(Calendar.YEAR, 2023);
calendar.set(Calendar.MONTH, Calendar.APRIL);
calendar.set(Calendar.DAY_OF_MONTH, 28);

 

20.2. java.time 패키지 (LocalDate, LocalTime, LocalDateTime)

Java 8부터 java.time 패키지가 도입되어 날짜와 시간 처리가 더 쉬워졌습니다. LocalDate, LocalTime, LocalDateTime 등의 클래스를 사용하여 날짜와 시간을 처리할 수 있습니다.

LocalDate today = LocalDate.now();
LocalTime currentTime = LocalTime.now();
LocalDateTime currentDateTime = LocalDateTime.now();

LocalDate specificDate = LocalDate.of(2023, Month.APRIL, 28);
LocalTime specificTime = LocalTime.of(12, 30);
LocalDateTime specificDateTime = LocalDateTime.of(specificDate, specificTime);

 

20.3. 날짜와 시간 연산

java.time 패키지의 클래스들은 날짜와 시간 연산을 쉽게 수행할 수 있습니다.

LocalDate tomorrow = today.plusDays(1);
LocalTime oneHourLater = currentTime.plusHours(1);
LocalDateTime oneWeekLater = currentDateTime.plusWeeks(1);

LocalDate yesterday = today.minusDays(1);
LocalTime oneHourEarlier = currentTime.minusHours(1);
LocalDateTime oneWeekEarlier = currentDateTime.minusWeeks(1);

 

20.4. 날짜와 시간 포맷팅

날짜와 시간을 원하는 형식으로 표시하려면 DateTimeFormatter 클래스를 사용할 수 있습니다.

DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss");
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

String formattedDate = today.format(dateFormatter);
String formattedTime = currentTime.format(timeFormatter);
String formattedDateTime = currentDateTime.format(dateTimeFormatter);

이 강좌에서는 자바에서 날짜와 시간 처리에 대한 기본적인 내용을 다루었습니다. 이를 바탕으로 다양한 날짜와 시간 연산 및 포맷팅을 수행할 수 있습니다. 이러한 기능들은 애플리케이션 개발에서 매우 중요한 역할을 하며, 효율적인 시간 관리와 출력을 위해 자주 사용됩니다.

반응형

댓글