-
Notifications
You must be signed in to change notification settings - Fork 0
LocalTime
java.time.LocalTime 클래스는 시간을 표현하는 불변 클래스입니다.
이 페이지에서는 java-time-extensions 라이브러리에서 어떻게 확장 프로퍼티, 확장 함수, 중위 함수를 사용할 수 있는지 설명합니다.
LocalTime 인스턴스를 생성하는 방법은 다음과 같습니다:
String을 LocalTime으로 변환하려면 toLocalTime() 확장 함수를 사용하십시오.
import io.github.harryjhin.java.time.extension.toLocalTime
import java.time.LocalTime
val time: LocalTime = "12:34:56".toLocalTime()String 값은 반드시 HH:mm:ss 형식이어야 합니다. 그렇지 않으면 DateTimeParseException이 발생합니다.
예외를 던지지 대신 null을 반환하려면
toLocalTimeOrNull() 확장 함수를 사용하십시오.
String을 LocalTime으로 변환하면서
예외가 발생한 경우 null을 반환하려면 toLocalTimeOrNull() 확장 함수를 사용하십시오.
import io.github.harryjhin.java.time.extension.toLocalTimeOrNull
import java.time.LocalTime
val time: LocalTime? = "0123456789".toLocalTimeOrNull() // nullString 값이 HH:mm:ss 형식이 아니라면 null을 반환합니다.
null을 반환하는 대신 형식을 지정하려면
toLocalTime(String) 확장 함수를 사용하십시오.
String을 지정한 패턴을 사용하여 LocalTime으로 변환하려면 toLocalTime(String) 확장 함수를 사용하십시오.
import io.github.harryjhin.java.time.extension.toLocalTime
import java.time.LocalTime
val time: LocalTime = "123456".toLocalTime("HHmmss")String 값이 지정한 형식이 아니라면 DateTimeParseException이 발생합니다.
예외를 던지지 대신 null을 반환하려면
toLocalTimeOrNull(String) 확장 함수를 사용하십시오.
String을 지정한 패턴을 사용하여 LocalTime으로 변환하면서
예외가 발생한 경우 null을 반환하려면 toLocalTimeOrNull(String) 확장 함수를 사용하십시오.
import io.github.harryjhin.java.time.extension.toLocalTimeOrNull
import java.time.LocalTime
val time: LocalTime? = "123456".toLocalTimeOrNull("HH:mm:ss") // nullString 값이 지정한 형식이 아니라면 null을 반환합니다.
형식을 지정할 때 String 대신 DateTimeFormatter를 사용하려면
toLocalTime(DateTimeFormatter) 확장 함수를 사용하십시오.
String을 DateTimeFormatter를 사용하여 LocalTime으로 변환하려면 toLocalTime(DateTimeFormatter) 확장 함수를 사용하십시오.
import io.github.harryjhin.java.time.extension.toLocalTime
import java.time.LocalTime
import java.time.format.DateTimeFormatter
val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("HHmmss")
val time: LocalTime = "123456".toLocalTime(formatter)String 값이 지정한 형식과 일치하지 않는 경우 DateTimeParseException이 발생합니다.
예외를 던지지 대신 null을 반환하려면
toLocalTimeOrNull(DateTimeFormatter) 확장 함수를 사용하십시오.
String을 DateTimeFormatter를 사용하여 LocalTime으로 변환하면서
예외가 발생한 경우 null을 반환하려면 toLocalTimeOrNull(DateTimeFormatter) 확장 함수를 사용하십시오.
import io.github.harryjhin.java.time.extension.toLocalTimeOrNull
import java.time.LocalTime
import java.time.format.DateTimeFormatter
val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss")
val time: LocalTime? = "123456".toLocalTimeOrNull(formatter) // nullString 값이 지정한 형식이 아니라면 null을 반환합니다.
LocalTime 인스턴스는 시간 정보만 가지고 있습니다. 따라서 시간은 Duration으로 변환할 수 있습니다.
지원하는 확장 프로퍼티는 다음과 같습니다:
LocalTime.hours: DurationLocalTime.minutes: DurationLocalTime.seconds: DurationLocalTime.milliseconds: DurationLocalTime.microseconds: DurationLocalTime.nanoseconds: Duration
LocalTime 인스턴스에서 시 값을 가져오려면 hours 확장 프로퍼티를 사용하십시오.
import io.github.harryjhin.java.time.extension.hours
import java.time.Duration
import java.time.LocalTime
val time: LocalTime = LocalTime.of(12, 34, 56, 123_456_789)
val hours: Duration = time.hours // PT12HLocalTime 인스턴스에서 분 값을 가져오려면 minutes 확장 프로퍼티를 사용하십시오.
import io.github.harryjhin.java.time.extension.minutes
import java.time.Duration
import java.time.LocalTime
val time: LocalTime = LocalTime.of(12, 34, 56, 123_456_789)
val minutes: Duration = time.minutes // PT34MLocalTime 인스턴스에서 초 값을 가져오려면 seconds 확장 프로퍼티를 사용하십시오.
import io.github.harryjhin.java.time.extension.seconds
import java.time.Duration
import java.time.LocalTime
val time: LocalTime = LocalTime.of(12, 34, 56, 123_456_789)
val seconds: Duration = time.seconds // PT56SLocalTime 인스턴스에서 나노초 값을 밀리초 단위까지 가져오려면 milliseconds 확장 프로퍼티를 사용하십시오.
import io.github.harryjhin.java.time.extension.milliseconds
import java.time.Duration
import java.time.LocalTime
val time: LocalTime = LocalTime.of(12, 34, 56, 123_456_789)
val milliseconds: Duration = time.milliseconds // PT0.123SLocalTime 인스턴스에서 나노초 값을 마이크로초 단위까지 가져오려면 microseconds 확장 프로퍼티를 사용하십시오.
import io.github.harryjhin.java.time.extension.microseconds
import java.time.Duration
import java.time.LocalTime
val time: LocalTime = LocalTime.of(12, 34, 56, 123_456_789)
val microseconds: Duration = time.microseconds // PT0.123456SLocalTime 인스턴스에서 나노초 값을 가져오려면 nanoseconds 확장 프로퍼티를 사용하십시오.
import io.github.harryjhin.java.time.extension.nanoseconds
import java.time.Duration
import java.time.LocalTime
val time: LocalTime = LocalTime.of(12, 34, 56, 123_456_789)
val nanoseconds: Duration = time.nanoseconds // PT0.123456789SLocalTime 인스턴스에서 지원하는 연산자는 다음과 같습니다:
위 연산을 수행하기 위해 TemporalAmount 인스턴스가 필요하며, LocalTime 인스턴스를 Duration으로 변환할 수 있습니다.
LocalTime 인스턴스에 Duration을 더하려면 plus(+) 연산자를 사용하십시오.
import io.github.harryjhin.java.time.extension.toLocalTime
import io.github.harryjhin.java.time.extension.hours
import io.github.harryjhin.java.time.extension.minutes
import io.github.harryjhin.java.time.extension.seconds
import java.time.LocalTime
val time: LocalTime = "12:34:56".toLocalTime()
val result: LocalTime = time + 1.hours + 2.minutes + 3.seconds // 13:36:59LocalTime 인스턴스에서 Duration을 빼려면 minus(-) 연산자를 사용하십시오.
import io.github.harryjhin.java.time.extension.hours
import io.github.harryjhin.java.time.extension.minutes
import io.github.harryjhin.java.time.extension.seconds
import java.time.LocalTime
val time: LocalTime = "12:34:56".toLocalTime()
val result: LocalTime = time - 1.hours - 2.minutes - 3.seconds // 11:32:53LocalTime 인스턴스를 다른 java.time 클래스로 변환하려면 다음 중위 함수를 사용하십시오:
LocalTime과 LocalDate를 결합하여 LocalDateTime으로 변환하려면 at 중위 함수를 사용하십시오.
import io.github.harryjhin.java.time.extension.at
import io.github.harryjhin.java.time.extension.toLocalDate
import io.github.harryjhin.java.time.extension.toLocalTime
import java.time.LocalDate
import java.time.LocalTime
import java.time.LocalDateTime
val date: LocalDate = "2024-01-01".toLocalDate()
val time: LocalTime = "12:34:56".toLocalTime()
val dateTime: LocalDateTime = time at date // 2024-01-01T12:34:56두 LocalTime 인스턴스 사이의 시간 차이를 계산하려면 between 중위 함수를 사용하십시오.
import io.github.harryjhin.java.time.extension.between
import io.github.harryjhin.java.time.extension.toLocalTime
import java.time.LocalTime
import java.time.Duration
val startTIme: LocalTime = "12:34:56".toLocalTime()
val endTime: LocalTime = "13:35:57".toLocalTime()
val duration: Duration = endTime between startTime // PT1H1M1SLocalTime 인스턴스를 String으로 변환하려면 다음 확장 함수를 사용하십시오:
LocalTime 인스턴스를 지정한 패턴을 사용하여 String으로 변환하려면 toString(String) 확장 함수를 사용하십시오.
import io.github.harryjhin.java.time.extension.toString
import java.time.LocalTime
val time: LocalTime = LocalTime.of(12, 34, 56)
val result: String = time.toString("HHmmss") // 123456LocalTime 인스턴스를 DateTimeFormatter를 사용하여 String으로 변환하려면 toString(DateTimeFormatter) 확장 함수를 사용하십시오.
import io.github.harryjhin.java.time.extension.toString
import java.time.LocalTime
import java.time.format.DateTimeFormatter
val time: LocalTime = LocalTime.of(12, 34, 56)
val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("HHmmss")
val result: String = time.toString(formatter) // 123456