JAVA/포스팅

java.time.LocalDateTime 클래스

짜집퍼박사(짜박) 2023. 11. 17. 00:35

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