java.time.LocalDateTime 클래스는 날짜와 시간 정보를 모두 포함하는 클래스로, 날짜와 시간을 함께 다루어야 하는 경우에 사용됩니다. 이 클래스는 LocalDate와 LocalTime을 조합한 형태로, 연월일과 시분초를 모두 가지고 있습니다. 아래는 LocalDateTime 클래스의 주요 특징과 사용법에 대한 설명입니다.
1. LocalDateTime 객체 생성
현재 날짜와 시간으로 LocalDateTime 객체 생성
LocalDateTime currentDateTime = LocalDateTime.now();
특정 날짜와 시간으로 LocalDateTime 객체 생성
LocalDateTime specificDateTime = LocalDateTime.of(2023, Month.JANUARY, 15, 14, 30);
특정 시간대의 날짜와 시간으로 LocalDateTime 객체 생성
ZoneId zoneId = ZoneId.of("America/New_York");
LocalDateTime dateTimeInNewYork = LocalDateTime.now(zoneId);
2. LocalDateTime 객체에서 날짜와 시간 정보 가져오기
연, 월, 일, 시, 분, 초 정보 가져오기
int year = currentDateTime.getYear();
Month month = currentDateTime.getMonth();
int day = currentDateTime.getDayOfMonth();
int hour = currentDateTime.getHour();
int minute = currentDateTime.getMinute();
int second = currentDateTime.getSecond();
3. LocalDateTime 객체 연산
특정 기간을 더하거나 빼기
LocalDateTime futureDateTime = currentDateTime.plusDays(7).plusHours(3);
LocalDateTime pastDateTime = currentDateTime.minusMonths(2);
특정 값으로 변경하기
LocalDateTime newDateTime = currentDateTime.withYear(2024).withMonth(6);
4. LocalDateTime 객체 비교
다른 LocalDateTime 객체와의 비교
boolean isAfter = currentDateTime.isAfter(specificDateTime);
boolean isBefore = currentDateTime.isBefore(specificDateTime);
int comparison = currentDateTime.compareTo(specificDateTime);
5. LocalDateTime 객체의 출력
LocalDateTime 객체를 문자열로 변환
String dateTimeAsString = currentDateTime.toString();
6. LocalDateTime 객체의 형식화
사용자 정의 형식으로 날짜와 시간을 문자열로 변환
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = currentDateTime.format(formatter);
주의사항
- LocalDateTime 클래스는 불변(immutable)이며, 변경할 수 없는 객체입니다. 따라서 LocalDateTime 객체를 조작하는 메소드들은 새로운 LocalDateTime 객체를 반환합니다.
- LocalDateTime 클래스는 java.time 패키지에서 제공하는 날짜와 시간 관련 클래스 중 하나로, 날짜와 시간을 모두 처리해야 하는 경우에 사용됩니다.
이러한 메소드들을 사용하여 LocalDateTime 객체를 효과적으로 활용할 수 있습니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
java.time.ZoneId 클래스 (0) | 2023.11.17 |
---|---|
java.time.ZonedDateTime 클래스 (0) | 2023.11.17 |
java.time.LocalTime 클래스 (0) | 2023.11.17 |
java.time.LocalDate 클래스 (0) | 2023.11.16 |
java.time.Instant 클래스 (0) | 2023.11.16 |