Skip to content
주진현 edited this page Aug 30, 2024 · 3 revisions

java.time.Month 클래스는 월을 나타내는 클래스입니다.

1 Instance 생성

1.1 Int.toMonth(): Month

주어진 IntMonth로 파싱합니다.

import io.github.harryjhin.java.time.extension.toMonth
import java.time.Month

val month: Month = 1.toMonth() // JANUARY

Int 값이 Month의 범위를 벗어나면 DateTimeException이 발생합니다.

val month: Month = 13.toMonth() // throw DateTimeException

1.2 Int.toMonthOrNull(): Month?

주어진 IntMonth로 파싱하고 예외가 발생하면 null을 반환합니다.

import io.github.harryjhin.java.time.extension.toMonthOrNull
import java.time.Month

val month: Month? = 1.toMonthOrNull() // JANUARY

Int 값이 Month의 범위를 벗어나면 null을 반환합니다.

val month: Month? = 13.toMonthOrNull() // null

1.3 Long.toMonth(): Month

주어진 LongMonth로 파싱합니다.

import io.github.harryjhin.java.time.extension.toMonth
import java.time.Month

val month: Month = 1L.toMonth() // JANUARY

Long 값이 Int로 표현할 수 없으면 ArithmeticException이 발생합니다.

val month: Month = Long.MXA_VALUE.toMonth() // throw ArithmeticException

만약 LongMonth의 범위를 벗어나면 DateTimeException이 발생합니다.

val month: Month = 13L.toMonth() // throw DateTimeException

1.4 Long.toMonthOrNull(): Month?

주어진 LongMonth로 파싱하고 예외가 발생하면 null을 반환합니다.

import io.github.harryjhin.java.time.extension.toMonthOrNull
import java.time.Month

val month: Month? = 12L.toMonthOrNull() // DECEMBER

Long 값이 Int로 표현할 수 없으면 null을 반환합니다.

val month: Month? = Long.MAX_VALUE.toMonthOrNull() // null

Long 값이 Month의 범위를 벗어나면 null을 반환합니다.

val month: Month? = 13L.toMonthOrNull() // null

1.5 String.toMonth(): Month

주어진 StringMonth로 파싱합니다. 기본 패턴은 다음과 같습니다:

  • Jan, JANUARY, 1: Month.JANUARY
  • Feb, FEBRUARY, 2: Month.FEBRUARY
  • Mar, MARCH, 3: Month.MARCH
  • Apr, APRIL, 4: Month.APRIL
  • May, MAY, 5: Month.MAY
  • Jun, JUNE, 6: Month.JUNE
  • Jul, JULY, 7: Month.JULY
  • Aug, AUGUST, 8: Month.AUGUST
  • Sep, SEPTEMBER, 9: Month.SEPTEMBER
  • Oct, OCTOBER, 10: Month.OCTOBER
  • Nov, NOVEMBER, 11: Month.NOVEMBER
  • Dec, DECEMBER, 12: Month.DECEMBER
import io.github.harryjhin.java.time.extension.toMonth
import java.time.Month

val month: Month = "Jan".toMonth() // JANUARY

1.6 String.toMonthOrNull(): Month?

주어진 StringMonth로 파싱하고 예외가 발생하면 null을 반환합니다. 기본 패턴은 위 String.toMonth()과 동일합니다.

import io.github.harryjhin.java.time.extension.toMonthOrNull
import java.time.Month

val month: Month? = "Jan".toMonthOrNull() // JANUARY

2 기간

2.1 Month.months: Period

Month 인스턴스에서 월(month) 정보를 Period로 가져옵니다.

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

val period: Period = Month.JANUARY.months // P1M

3 연산

3.1 Month.plus(TemporalAmount): Month

Month 인스턴스에 TemporalAmount를 더합니다.

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

var month: Month = Month.JANUARY
month += 1.months // FEBRUARY

3.2 Month.minus(TemporalAmount): Month

Month 인스턴스에서 TemporalAmount를 뺍니다.

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

var month: Month = Month.FEBRUARY
month -= 1.months // JANUARY

4 결합

4.1 Month.at(Year): YearMonth

MonthYear를 결합하여 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

4.2 Month.at(Int): MonthDay

MonthdayOfMonth를 결합하여 MonthDay로 변환하려면 at 연산자를 사용하십시오.

import io.github.harryjhin.java.time.extension.at
import io.github.harryjhin.java.time.extension.toMonth
import java.time.Month
import java.time.MonthDay

val month: Month = 1.toMonth()
val monthDay: MonthDay = month at 1 // --01-01

5 포맷

5.1 Month.toString(String): String

Month 인스턴스를 지정한 패턴을 사용하여 String으로 포매팅합니다.

import io.github.harryjhin.java.time.extension.toString
import java.time.Month

val month: Month = Month.JANUARY
val string: String = month.toString("MMM") // Jan

5.2 Month.toString(DateTimeFormatter): String

Month 인스턴스를 지정한 DateTimeFormatter를 사용하여 String으로 포매팅합니다.

import io.github.harryjhin.java.time.extension.toDateTimeFormatter
import io.github.harryjhin.java.time.extension.toString
import java.time.Month
import java.time.format.DateTimeFormatter

val month: Month = Month.JANUARY
val formatter: DateTimeFormatter = "MMM"
val string: String = month.toString(formatter) // Jan
Clone this wiki locally