java.time
패키지는 Java 8에서 도입된 새로운 날짜와 시간 API입니다.
이 패키지는 java.util.Date
와 java.util.Calendar
의 단점을 개선하고, 더 직관적이고 사용하기 쉬운 클래스들을 제공합니다. 다음은 java.time
패키지의 주요 클래스들입니다.
1. LocalDate 클래스
LocalDate
클래스는 시간 정보 없이 날짜만을 표현합니다. 이 클래스를 사용하여 날짜를 생성, 조작, 비교할 수 있습니다.
1
2
3
4
5
6
7
8
|
LocalDate today = LocalDate.now();
System.out.println(“Today: “ + today);
LocalDate birthDate = LocalDate.of(1990, 1, 1);
System.out.println(“Birth date: “ + birthDate);
LocalDate nextWeek = today.plusWeeks(1);
System.out.println(“Next week: “ + nextWeek);
|
cs |
2. LocalTime 클래스
LocalTime
클래스는 날짜 정보 없이 시간만을 표현합니다. 이 클래스를 사용하여 시간을 생성, 조작, 비교할 수 있습니다.
1
2
3
4
5
6
7
8
|
LocalTime now = LocalTime.now();
System.out.println(“Current time: “ + now);
LocalTime lunchTime = LocalTime.of(12, 30);
System.out.println(“Lunch time: “ + lunchTime);
LocalTime oneHourLater = now.plusHours(1);
System.out.println(“One hour later: “ + oneHourLater);
|
cs |
3. LocalDateTime 클래스
LocalDateTime
클래스는 날짜와 시간 정보를 모두 포함합니다. 이 클래스를 사용하여 날짜와 시간을 생성, 조작, 비교할 수 있습니다.
1
2
3
4
5
6
7
8
|
LocalDateTime now = LocalDateTime.now();
System.out.println(“Current date and time: “ + now);
LocalDateTime meeting = LocalDateTime.of(2023, 4, 15, 14, 30);
System.out.println(“Meeting: “ + meeting);
LocalDateTime twoHoursLater = now.plusHours(2);
System.out.println(“Two hours later: “ + twoHoursLater);
|
cs |
4. Instant 클래스
Instant
클래스는 에포크 시간(1970년 1월 1일 00:00:00 UTC)부터 경과한 시간을 나노초 단위로 표현합니다. 이 클래스는 타임스탬프 작업에 유용합니다.
1
2
3
4
5
6
7
8
|
Instant now = Instant.now();
System.out.println(“Current timestamp: “ + now);
Instant later = now.plusSeconds(3600);
System.out.println(“One hour later: “ + later);
long seconds = now.getEpochSecond();
System.out.println(“Seconds since epoch: “ + seconds);
|
cs |
5. Duration 클래스
Duration
클래스는 두 시간 사이의 간격을 나타냅니다. 이 클래스를 사용하여 시간 간격을 생성, 조작, 비교할 수 있습니다.
1
2
3
4
5
6
7
8
|
LocalTime start = LocalTime.of(9, 0);
LocalTime end = LocalTime.of(17, 0);
Duration workHours = Duration.between(start, end);
System.out.println(“Work hours: “ + workHours);
Duration break = Duration.ofMinutes(30);
System.out.println(“Break: “ + break);
|
cs |
6. Period 클래스
Period
클래스는 두 날짜 사이의 간격을 나타냅니다. 이 클래스를 사용하여 날짜 간격을 생성, 조작, 비교할 수 있습니다.
1
2
3
4
5
6
7
8
|
LocalDate startDate = LocalDate.of(2023, 1, 1);
LocalDate endDate = LocalDate.of(2023, 12, 31);
Period period = Period.between(startDate, endDate);
System.out.println(“Period: “ + period);
Period quarterYear = Period.ofMonths(3);
System.out.println(“Quarter year: “ + quarterYear);
|
cs |
java.time
패키지는 이전 버전의 Java 날짜와 시간 API의 단점을 해결하고, 더 직관적이고 사용하기 쉬운 인터페이스를 제공합니다. 이 패키지의 클래스들을 활용하여 날짜와 시간 관련 작업을 보다 효과적으로 처리할 수 있습니다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.