JAVA/포스팅

java.time.Duration 클래스

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

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