-
Notifications
You must be signed in to change notification settings - Fork 0
Year
java.time.Year
클래스는 연도를 표현하는 불변 클래스입니다.
Year
인스턴스를 생성하는 방법은 다음과 같습니다:
Int.toYear(): Year
Int.toYearOrNull(): Year?
Long.toYear(): Year
Long.toYearOrNull(): Year?
String.toYear(): Year
String.toYearOrNull(): Year?
String.toYear(String): Year
String.toYearOrNull(String): Year?
String.toYear(DateTimeFormatter): Year
String.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() // 2024
Long
값이 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() // 2024
String
값이 지정한 형식이 아니라면 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 IllegalArgumentException
String
값이 지정한 형식이 아니라면 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") // null
String
값이 지정한 형식이 아니라면 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) // 2024
String
값이 지정한 형식이 아니라면 DateTimeParseException
이 발생합니다.
val year: Year = "24/01".toYear(formatter) // throw DateTimeParseException
String
을 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) // 2024
String
값이 지정한 형식이 아니라면 null
을 반환합니다.
val year: Year? = "24/01".toYearOrNull(formatter) // null
Year
인스턴스는 연도 정보만 가지고 있습니다. 따라서 연도는 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 // P2024Y
Year
인스턴스에서 지원하는 연산은 다음과 같습니다:
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 // 2025
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 // 2023
Year
와 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-01
Year
와 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-01
Year
와 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 // P1Y
Year
인스턴스를 지정한 패턴을 사용하여 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") // 24
Year
인스턴스를 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