-
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