java.time.Duration 클래스는 두 시점 간의 지속 시간을 나타내는 데 사용되는 클래스입니다. 이 클래스는 날짜 및 시간 API에서 제공되며, 시간을 나타내는 데 유용합니다.
1. Duration 객체 생성
초 단위로 Duration 객체 생성
Duration durationInSeconds = Duration.ofSeconds(60); // 60 seconds
분 단위로 Duration 객체 생성
Duration durationInMinutes = Duration.ofMinutes(30); // 30 minutes
시간 단위로 Duration 객체 생성
Duration durationInHours = Duration.ofHours(2); // 2 hours
다양한 시간 단위를 혼합하여 Duration 객체 생성
Duration customDuration = Duration.ofDays(3).plusHours(5).minusMinutes(30); // 3 days, 5 hours, 30 minutes
2. Duration 객체의 사용
Duration 객체를 이용하여 시간 단위 더하기 및 빼기
LocalDateTime startDateTime = LocalDateTime.now();
LocalDateTime endDateTime = startDateTime.plus(durationInHours); // Add duration
LocalDateTime earlierDateTime = startDateTime.minus(durationInMinutes); // Subtract duration
두 Instant 객체 간의 Duration 구하기
Instant startInstant = Instant.now();
Instant endInstant = Instant.now().plusSeconds(120);
Duration durationBetweenInstants = Duration.between(startInstant, endInstant);
Duration을 다양한 시간 단위로 분해
long days = customDuration.toDays();
long hours = customDuration.toHours();
long minutes = customDuration.toMinutes();
long seconds = customDuration.getSeconds();
3. Duration 객체의 속성 및 메서드
불변성(Immutable)
Duration 객체는 불변성을 가지며, 기존의 Duration 객체를 변경하지 않고 새로운 객체를 생성합니다.
zero() 메서드
Duration 클래스에는 zero() 메서드가 있어서 0초의 Duration 객체를 얻을 수 있습니다.
Duration zeroDuration = Duration.zero();
주의사항
- Duration 클래스는 불변(immutable)하며, 변경할 수 없는 객체입니다.
- java.time 패키지에서 제공하는 다양한 시간과 관련된 클래스들과 함께 사용됩니다.
- Duration 클래스를 사용하면 두 시점 간의 지속 시간을 표현하고 계산하는 데 편리합니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
DateTimeFormatter 클래스 (0) | 2023.11.17 |
---|---|
java.time.Period 클래스 (0) | 2023.11.17 |
java.time.ZoneId 클래스 (0) | 2023.11.17 |
java.time.ZonedDateTime 클래스 (0) | 2023.11.17 |
java.time.LocalDateTime 클래스 (0) | 2023.11.17 |