Skip to content
주진현 edited this page Aug 30, 2024 · 1 revision

java.time.Period는 연(Year), 월(Month), 일(Day)에 대해서 날짜의 양(기간)을 나타내는 클래스입니다.

1 instance 생성

Period 인스턴스를 생성하는 여러 가지 방법이 있습니다:

1.1 String.toPeriod(): Period

주어진 StringPeriod로 파싱합니다. StringISO-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

1.2 String.toPeriodOrNull(): Period?

주어진 StringPeriod로 파싱합니다. 만약 String이 파싱할 수 없는 값이라면 null을 반환합니다. StringISO-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

1.3 Int.years: Period

주어진 Int를 연(year)으로 해석하고 Period 인스턴스를 생성합니다.

import io.github.harryjhin.java.time.extension.years
import java.time.Period

val period: Period = 1.years // P1Y

1.4 Long.years: Period

주어진 Long을 연(year)으로 해석하고 Period 인스턴스를 생성합니다.

import io.github.harryjhin.java.time.extension.years
import java.time.Period

val period: Period = 1L.years // P1Y

만약 LongInt로 표현할 수 없는 값이라면 ArithmeticException이 발생합니다.

val period: Period = 2147483648L.years // throw ArithmeticException

1.5 String.years: Period

주어진 String을 연(year)으로 해석하고 Period 인스턴스를 생성합니다.

import io.github.harryjhin.java.time.extension.years
import java.time.Period

val period: Period = "1".years // P1Y

만약 StringInt로 표현할 수 없는 값이라면 NumberFormatException이 발생합니다.

val period: Period = "2147483648".years // throw NumberFormatException

1.6 Int.months: Period

주어진 Int를 월(month)로 해석하고 Period 인스턴스를 생성합니다.

import io.github.harryjhin.java.time.extension.months
import java.time.Period

val period: Period = 1.months // P1M

1.7 Long.months: Period

주어진 Long을 월(month)로 해석하고 Period 인스턴스를 생성합니다.

import io.github.harryjhin.java.time.extension.months
import java.time.Period

val period: Period = 1L.months // P1M

만약 LongInt로 표현할 수 없는 값이라면 ArithmeticException이 발생합니다.

val period: Period = 2147483648L.months // throw ArithmeticException

1.8 String.months: Period

주어진 String을 월(month)로 해석하고 Period 인스턴스를 생성합니다.

import io.github.harryjhin.java.time.extension.months
import java.time.Period

val period: Period = "1".months // P1M

만약 StringInt로 표현할 수 없는 값이라면 NumberFormatException이 발생합니다.

val period: Period = "2147483648".months // throw NumberFormatException

1.9 Int.days: Period

주어진 Int를 일(day)로 해석하고 Period 인스턴스를 생성합니다.

import io.github.harryjhin.java.time.extension.days
import java.time.Period

val period: Period = 1.days // P1D

1.10 Long.days: Period

주어진 Long을 일(day)로 해석하고 Period 인스턴스를 생성합니다.

import io.github.harryjhin.java.time.extension.days
import java.time.Period

val period: Period = 1L.days // P1D

만약 LongInt로 표현할 수 없는 값이라면 ArithmeticException이 발생합니다.

val period: Period = 2147483648L.days // throw ArithmeticException

1.11 String.days: Period

주어진 String을 일(day)로 해석하고 Period 인스턴스를 생성합니다.

import io.github.harryjhin.java.time.extension.days
import java.time.Period

val period: Period = "1".days // P1D

만약 StringInt로 표현할 수 없는 값이라면 NumberFormatException이 발생합니다.

val period: Period = "2147483648".days // throw NumberFormatException
Clone this wiki locally