-
Notifications
You must be signed in to change notification settings - Fork 0
DateTimeFormatter
java.time.DateTimeFormatter
클래스는 날짜-시간 객체를 String
으로 형식화하거나 String
을 날짜-시간 객체로 파싱하는 데 사용됩니다.
DateTimeFormatter
인스턴스를 생성하는 두 가지 방법이 있습니다:
- 1.1 String.toDateTimeFormatter(): DateTimeFormatter
- 1.2 String.toDateTimeFormatterOrNull(): DateTimeFormatter?
주어진 String
을 DateTimeFormatter
로 파싱합니다.
import io.github.harryjhin.java.time.extension.toDateTimeFormatter
import java.time.format.DateTimeFormatter
val formatter: DateTimeFormatter = "yyyy-MM-dd".toDateTimeFormatter()
만약 String
이 해석할 수 없는 패턴이라면 IllegalArgumentException
이 발생합니다.
val formatter: DateTimeFormatter = "ABC".toDateTimeFormatter() // throw IllegalArgumentException
주어진 String
을 DateTimeFormatter
로 파싱합니다. 만약 String
이 해석할 수 없는 패턴이라면 null
을 반환합니다.
import io.github.harryjhin.java.time.extension.toDateTimeFormatterOrNull
import java.time.format.DateTimeFormatter
val formatter: DateTimeFormatter? = "yyyy-MM-dd".toDateTimeFormatterOrNull()
만약 String
이 해석할 수 없는 패턴이라면 null
을 반환합니다.
val formatter: DateTimeFormatter? = "ABC".toDateTimeFormatterOrNull() // null
String.toDateTimeFormatter()
또는 String.toDateTimeFormatterOrNull()
을 사용하여 DateTimeFormatter
인스턴스를 생성하면 몇 가지 패턴에 대해서는 동일한 인스턴스를 반환합니다.
패턴에 대한 정보는 기본 구성에서 찾을 수 있습니다.
기본 구성을 변경하지 않았다면 다음 패턴은 동일한 DateTimeFormatter
인스턴스를 반환합니다:
yyyy-MM-dd
yyyy-MM-dd['T'][ ]HH:mm[:ss][.SSS]
HH:mm[:ss][.SSS]
[--]MM-dd
yyyy-MM-dd['T'][ ]HH:mm[:ss][.SSS]XXX
HH:mm[:ss][.SSS]XXX
yyyy
yyyy-MM
yyyy-MM-dd['T'][ ]HH:mm[:ss][.SSS]XXX'['VV']'
만약 기본 구성 중에 없는 패턴을 사용하면 String.toDateTimeFormatter()
또는 String.toDateTimeFormatterOrNull()
을 호출할 때마다 새로운 DateTimeFormatter
인스턴스가 생성됩니다.
기본 구성을 변경한 경우 변경한 패턴에 대해서는 동일한 DateTimeFormatter
인스턴스를 반환하고, 변경 전 패턴에 대해서는 새로운 DateTimeFormatter
인스턴스를 생성합니다.