-
Notifications
You must be signed in to change notification settings - Fork 0
Period
java.time.Period
는 연(Year), 월(Month), 일(Day)에 대해서 날짜의 양(기간)을 나타내는 클래스입니다.
Period
인스턴스를 생성하는 여러 가지 방법이 있습니다:
- 1.1 String.toPeriod(): Period
- 1.2 String.toPeriodOrNull(): Period?
- 1.3 Int.years: Period
- 1.4 Long.years: Period
- 1.5 String.years: Period
- 1.6 Int.months: Period
- 1.7 Long.months: Period
- 1.8 String.months: Period
- 1.9 Int.days: Period
- 1.10 Long.days: Period
- 1.11 String.days: Period
주어진 String
을 Period
로 파싱합니다. String
은 ISO-8601 기간을 따라야 합니다.
import io.github.harryjhin.java.time.extension.toPeriod
import java.time.Period
val period: Period = "P1Y2M3D".toPeriod()
만약 String
이 파싱할 수 없는 값이라면 DateTimeParseException
이 발생합니다.
val period: Period = "ABC".toPeriod() // throw DateTimeParseException
주어진 String
을 Period
로 파싱합니다. 만약 String
이 파싱할 수 없는 값이라면 null
을 반환합니다. String
은 ISO-8601 기간을 따라야 합니다.
import io.github.harryjhin.java.time.extension.toPeriodOrNull
import java.time.Period
val period: Period? = "P1Y2M3D".toPeriodOrNull()
만약 String
이 파싱할 수 없는 값이라면 null
을 반환합니다.
val period: Period? = "ABC".toPeriodOrNull() // null
주어진 Int
를 연(year
)으로 해석하고 Period
인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.years
import java.time.Period
val period: Period = 1.years // P1Y
주어진 Long
을 연(year
)으로 해석하고 Period
인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.years
import java.time.Period
val period: Period = 1L.years // P1Y
만약 Long
이 Int
로 표현할 수 없는 값이라면 ArithmeticException
이 발생합니다.
val period: Period = 2147483648L.years // throw ArithmeticException
주어진 String
을 연(year
)으로 해석하고 Period
인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.years
import java.time.Period
val period: Period = "1".years // P1Y
만약 String
이 Int
로 표현할 수 없는 값이라면 NumberFormatException
이 발생합니다.
val period: Period = "2147483648".years // throw NumberFormatException
주어진 Int
를 월(month
)로 해석하고 Period
인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.months
import java.time.Period
val period: Period = 1.months // P1M
주어진 Long
을 월(month
)로 해석하고 Period
인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.months
import java.time.Period
val period: Period = 1L.months // P1M
만약 Long
이 Int
로 표현할 수 없는 값이라면 ArithmeticException
이 발생합니다.
val period: Period = 2147483648L.months // throw ArithmeticException
주어진 String
을 월(month
)로 해석하고 Period
인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.months
import java.time.Period
val period: Period = "1".months // P1M
만약 String
이 Int
로 표현할 수 없는 값이라면 NumberFormatException
이 발생합니다.
val period: Period = "2147483648".months // throw NumberFormatException
주어진 Int
를 일(day
)로 해석하고 Period
인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.days
import java.time.Period
val period: Period = 1.days // P1D
주어진 Long
을 일(day
)로 해석하고 Period
인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.days
import java.time.Period
val period: Period = 1L.days // P1D
만약 Long
이 Int
로 표현할 수 없는 값이라면 ArithmeticException
이 발생합니다.
val period: Period = 2147483648L.days // throw ArithmeticException
주어진 String
을 일(day
)로 해석하고 Period
인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.days
import java.time.Period
val period: Period = "1".days // P1D
만약 String
이 Int
로 표현할 수 없는 값이라면 NumberFormatException
이 발생합니다.
val period: Period = "2147483648".days // throw NumberFormatException