-
Notifications
You must be signed in to change notification settings - Fork 0
Duration
java.time.Duration는 시(Hour), 분(Minute), 초(Second), 밀리초(Millisecond), 마이크로초(Microsecond), 나노초(Nanosecond)에 대해서 시간의 양(기간)을 나타내는 클래스입니다.
Duration 인스턴스를 생성하는 여러 가지 방법이 있습니다:
- 1.1 String.toDuration(): Duration
- 1.2 String.toDurationOrNull(): Duration?
- 1.3 Int.hours: Duration
- 1.4 Long.hours: Duration
- 1.5 String.hours: Duration
- 1.6 Int.minutes: Duration
- 1.7 Long.minutes: Duration
- 1.8 String.minutes: Duration
- 1.9 Int.seconds: Duration
- 1.10 Long.seconds: Duration
- 1.11 String.seconds: Duration
- 1.12 Int.milliseconds: Duration
- 1.13 Long.milliseconds: Duration
- 1.14 String.milliseconds: Duration
- 1.15 Int.microseconds: Duration
- 1.16 Long.microseconds: Duration
- 1.17 String.microseconds: Duration
- 1.18 Int.nanoseconds: Duration
- 1.19 Long.nanoseconds: Duration
- 1.20 String.nanoseconds: Duration
주어진 String을 Duration으로 파싱합니다. String은 ISO-8601 기간을 따라야 합니다.
import io.github.harryjhin.java.time.extension.toDuration
import java.time.Duration
val duration: Duration = "PT1H30M".toDuration()만약 String이 파싱할 수 없는 값이라면 DateTimeParseException이 발생합니다.
val duration: Duration = "ABC".toDuration() // throw DateTimeParseException주어진 String을 Duration으로 파싱합니다. 만약 String이 파싱할 수 없는 값이라면 null을 반환합니다. String은 ISO-8601 기간을 따라야 합니다.
import io.github.harryjhin.java.time.extension.toDurationOrNull
import java.time.Duration
val duration: Duration? = "PT1H30M".toDurationOrNull()만약 String이 파싱할 수 없는 값이라면 null을 반환합니다.
val duration: Duration? = "ABC".toDurationOrNull() // null주어진 Int를 시(hour)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.hours
import java.time.Duration
val duration: Duration = 1.hours // PT1H주어진 Long을 시(hour)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.hours
import java.time.Duration
val duration: Duration = 1L.hours // PT1H주어진 String을 시(hour)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.hours
import java.time.Duration
val duration: Duration = "1".hours // PT1H만약 String이 Long으로 표현할 수 없는 값이라면 NumberFormatException이 발생합니다.
val duration: Duration = "9223372036854775808".hours // throw NumberFormatException주어진 Int를 분(minute)으로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.minutes
import java.time.Duration
val duration: Duration = 30.minutes // PT30M주어진 Long을 분(minute)으로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.minutes
import java.time.Duration
val duration: Duration = 30L.minutes // PT30M주어진 String을 분(minute)으로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.minutes
import java.time.Duration
val duration: Duration = "30".minutes // PT30M만약 String이 Long으로 표현할 수 없는 값이라면 NumberFormatException이 발생합니다.
val duration: Duration = "9223372036854775808".minutes // throw NumberFormatException주어진 Int를 초(second)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.seconds
import java.time.Duration
val duration: Duration = 30.seconds // PT30S주어진 Long을 초(second)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.seconds
import java.time.Duration
val duration: Duration = 30L.seconds // PT30S주어진 String을 초(second)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.seconds
import java.time.Duration
val duration: Duration = "30".seconds // PT30S만약 String이 Long으로 표현할 수 없는 값이라면 NumberFormatException이 발생합니다.
val duration: Duration = "9223372036854775808".seconds // throw NumberFormatException주어진 Int를 밀리초(millisecond)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.milliseconds
import java.time.Duration
val duration: Duration = 500.milliseconds // PT0.5S주어진 Long을 밀리초(millisecond)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.milliseconds
import java.time.Duration
val duration: Duration = 500L.milliseconds // PT0.5S주어진 String을 밀리초(millisecond)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.milliseconds
import java.time.Duration
val duration: Duration = "500".milliseconds // PT0.5S만약 String이 Long으로 표현할 수 없는 값이라면 NumberFormatException이 발생합니다.
val duration: Duration = "9223372036854775808".milliseconds // throw NumberFormatException주어진 Int를 마이크로초(microsecond)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.microseconds
import java.time.Duration
val duration: Duration = 500.microseconds // PT0.0005S주어진 Long을 마이크로초(microsecond)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.microseconds
import java.time.Duration
val duration: Duration = 500L.microseconds // PT0.0005S주어진 String을 마이크로초(microsecond)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.microseconds
import java.time.Duration
val duration: Duration = "500".microseconds // PT0.0005S만약 String이 Long으로 표현할 수 없는 값이라면 NumberFormatException이 발생합니다.
val duration: Duration = "9223372036854775808".microseconds // throw NumberFormatException주어진 Int를 나노초(nanosecond)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.nanoseconds
import java.time.Duration
val duration: Duration = 500.nanoseconds // PT0.0000005S주어진 Long을 나노초(nanosecond)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.nanoseconds
import java.time.Duration
val duration: Duration = 500L.nanoseconds // PT0.0000005S주어진 String을 나노초(nanosecond)로 해석하고 Duration 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.nanoseconds
import java.time.Duration
val duration: Duration = "500".nanoseconds // PT0.0000005S만약 String이 Long으로 표현할 수 없는 값이라면 NumberFormatException이 발생합니다.
val duration: Duration = "9223372036854775808".nanoseconds // throw NumberFormatException