-
Notifications
You must be signed in to change notification settings - Fork 0
Year
java.time.Year 클래스는 연도를 표현하는 불변 클래스입니다.
Year 인스턴스를 생성하는 방법은 다음과 같습니다:
Int.toYear(): YearInt.toYearOrNull(): Year?Long.toYear(): YearLong.toYearOrNull(): Year?String.toYear(): YearString.toYearOrNull(): Year?String.toYear(String): YearString.toYearOrNull(String): Year?String.toYear(DateTimeFormatter): YearString.toYearOrNull(DateTimeFormatter): Year?
주어진 Int를 연(year)으로 해석하고 Year로 파싱합니다.
import io.github.harryjhin.java.time.extension.toYear
import java.time.Year
val year: Year = 2024.toYear()Int 값이 유효한 연도가 아닌 경우 DateTimeException이 발생합니다.
val year: Year = (Year.MAX_VALUE + 1).toYear() // throw DateTimeException주어진 Int를 연(year)으로 해석하고 Year로 파싱하고 예외가 발생하면 null을 반환합니다.
import io.github.harryjhin.java.time.extension.toYearOrNull
import java.time.Year
val year: Year? = 2024.toYearOrNull()Int 값이 유효한 연도가 아닌 경우 null을 반환합니다.
val year: Year? = (Year.MAX_VALUE + 1).toYearOrNull() // null주어진 Long을 연(year)으로 해석하고 Year로 파싱합니다.
import io.github.harryjhin.java.time.extension.toYear
import java.time.Year
val year: Year = 2024L.toYear()Long 값이 Int 범위를 벗어
주어진 Long을 연(year)으로 해석하고 Year로 파싱하고 예외가 발생하면 null을 반환합니다.
import io.github.harryjhin.java.time.extension.toYearOrNull
import java.time.Year
val year: Year? = 2024L.toYearOrNull() // 2024Long 값이 Int 범위를 벗어나거나 유효한 연도가 아닌 경우 null을 반환합니다.
val year: Year? = (Year.MAX_VALUE + 1L).toYearOrNull() // null주어진 String을 Year로 파싱합니다.
String은 라이브러리 기본 구성의 패턴을 따라야 합니다.
import io.github.harryjhin.java.time.extension.toYear
import java.time.Year
val year: Year = "2024".toYear()String 값이 지정한 형식이 아니라면 DateTimeParseException이 발생합니다.
val year: Year = "24".toYear() // throw DateTimeParseException주어진 String을 Year로 파싱하고 예외가 발생하면 null을 반환합니다.
String은 라이브러리 기본 구성의 패턴을 따라야 합니다.
import io.github.harryjhin.java.time.extension.toYearOrNull
import java.time.Year
val year: Year? = "2024".toYearOrNull() // 2024String 값이 지정한 형식이 아니라면 null을 반환합니다.
val year: Year? = "24".toYearOrNull() // null주어진 String을 지정한 패턴을 사용하여 Year로 파싱합니다.
import io.github.harryjhin.java.time.extension.toYear
import java.time.Year
val year: Year = "24".toYear("yy") // 2024패턴이 올바른 형식이 아니라면 IllegalArgumentException이 발생합니다.
val year: Year = "24".toYear("ABC") // throw IllegalArgumentExceptionString 값이 지정한 형식이 아니라면 DateTimeParseException이 발생합니다.
val year: Year = "24/01".toYear("yy") // throw DateTimeParseException주어진 String을 지정한 패턴을 사용하여 Year로 파싱하고 예외가 발생하면 null을 반환합니다.
import io.github.harryjhin.java.time.extension.toYearOrNull
import java.time.Year
val year: Year? = "24".toYearOrNull("yy") // 2024패턴이 올바른 형식이 아니라면 IllegalArgumentException이 발생합니다.
val year: Year? = "24".toYearOrNull("ABC") // nullString 값이 지정한 형식이 아니라면 null을 반환합니다.
val year: Year? = "24/01".toYearOrNull("yy") // null주어진 String을 DateTimeFormatter를 사용하여 Year로 파싱합니다.
import io.github.harryjhin.java.time.extension.toYear
import java.time.Year
import java.time.format.DateTimeFormatter
val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("yy")
val year: Year = "24".toYear(formatter) // 2024String 값이 지정한 형식이 아니라면 DateTimeParseException이 발생합니다.
val year: Year = "24/01".toYear(formatter) // throw DateTimeParseExceptionString을 DateTimeFormatter를 사용하여 Year로 파싱하고 예외가 발생하면 null을 반환합니다.
import io.github.harryjhin.java.time.extension.toYearOrNull
import java.time.Year
import java.time.format.DateTimeFormatter
val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("yy")
val year: Year? = "24".toYearOrNull(formatter) // 2024String 값이 지정한 형식이 아니라면 null을 반환합니다.
val year: Year? = "24/01".toYearOrNull(formatter) // nullYear 인스턴스는 연도 정보만 가지고 있습니다. 따라서 연도는 Period로 변환할 수 있습니다.
지원하는 확장 프로퍼티는 다음과 같습니다:
Year 인스턴스에서 연도 값을 가져오려면 years 확장 프로퍼티를 사용하십시오.
import io.github.harryjhin.java.time.extension.toYear
import io.github.harryjhin.java.time.extension.years
import java.time.Period
import java.time.Year
val year: Year = 2024.toYear()
val period: Period = year.years // P2024YYear 인스턴스에서 지원하는 연산은 다음과 같습니다:
Year 인스턴스에 TemporalAmount를 더합니다.
import io.github.harryjhin.java.time.extension.toYear
import io.github.harryjhin.java.time.extension.years
import java.time.Year
var year: Year = 2024.toYear()
year += 1.years // 2025Year 인스턴스에서 TemporalAmount를 뺍니다.
import io.github.harryjhin.java.time.extension.toYear
import io.github.harryjhin.java.time.extension.years
import java.time.Year
var year: Year = 2024.toYear()
year -= 1.years // 2023Year와 Month를 결합하여 YearMonth 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.at
import io.github.harryjhin.java.time.extension.toMonth
import io.github.harryjhin.java.time.extension.toYear
import java.time.Month
import java.time.Year
import java.time.YearMonth
val year: Year = 2024.toYear()
val month: Month = 1.toMonth()
val yearMonth: YearMonth = year at month // 2024-01Year와 MonthDay를 결합하여 LocalDate 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.at
import io.github.harryjhin.java.time.extension.toYear
import java.time.MonthDay
import java.time.Year
import java.time.LocalDate
val year: Year = 2024.toYear()
val monthDay: MonthDay = MonthDay.of(1, 1)
val date: LocalDate = year at monthDay // 2024-01-01Year와 Int(dayOfYear)를 결합하여 LocalDate 인스턴스를 생성합니다.
import io.github.harryjhin.java.time.extension.at
import io.github.harryjhin.java.time.extension.toYear
import java.time.Year
import java.time.LocalDate
val year: Year = 2024.toYear()
val date: LocalDate = year at 32 // 2024-02-01두 Year 인스턴스 사이의 연도 차이를 계산하고 Period로 반환합니다.
import io.github.harryjhin.java.time.extension.between
import io.github.harryjhin.java.time.extension.toYear
import java.time.Year
import java.time.Period
val start: Year = 2024.toYear()
val end: Year = 2025.toYear()
val period: Period = start between end // P1YYear 인스턴스를 지정한 패턴을 사용하여 String으로 포매팅합니다.
import io.github.harryjhin.java.time.extension.toString
import io.github.harryjhin.java.time.extension.toYear
import java.time.Year
val year: Year = 2024.toYear()
val result: String = year.toString("yy") // 24Year 인스턴스를 DateTimeFormatter를 사용하여 String으로 포매팅합니다.
import io.github.harryjhin.java.time.extension.toString
import io.github.harryjhin.java.time.extension.toYear
import java.time.Year
import java.time.format.DateTimeFormatter
val year: Year = 2024.toYear()
val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("yy")
val result: String = year.toString(formatter) // 24