1. LocalTime 만들기
객체 생성 정적 메서드를 이용하여 LocalTime 인스턴스를 만든다.
/* 직접 지정하여 만들기 */
val time: LocalTime = LocalTime.of(19, 30, 20)
/* String을 LocalTime으로 만들기 */
val timeParse: LocalTime = LocalTime.parse("19:30:20")
/* 현재 시간을 LocalTime으로 만들기 */
val timeNow: LocalTime = LocalTime.now()
2. LocalTime에서 값 읽기
LocalTime는 시간 값을 읽는 여러 메서드를 제공한다.
- LocalTime에서 직접 변수에 접근하여 읽는 방법
- TemporalField를 이용하여 읽는 방법
val time: LocalTime = LocalTime.of(19, 30, 20)
/* 시간 출력하기 */
val hour: Int = time.getHour() // 19
val hourTempField: Int = time.get(ChronoField.HOUR_OF_DAY) // 19
/* 분 출력하기 */
val minute: Int = time.getMinute() // 30
val minuteTempField: Int = time.get(ChronoField.MINUTE_OF_HOUR) // 30
/* 초 출력하기 */
val second: Int = time.getSecond() // 20
val secondTempField: Int = time.get(ChronoField.SECOND_OF_MINUTE) // 20
3. LocalTime 속성 바꾸기
LocalTime은 불변객체이다. 따라서 속성값( 시, 분, 초 )을 바꾸려면 새로운 객체를 생성해 할당하거나 기존 객체에 재할당 해야 한다. 아래에서는 기존 객체에 재할당 했다.
- 특정 값으로 바꾸기 : 특정 값으로 바꿀 때는 with연산을 이용한다.
var time: LocalTime = LocalTime.of(19, 30, 20)
time = time.withHour(20) // 20:30:20
time = time.withMinute(31) // 20:31:20
time = time.withSecond(21) // 20:31:21
- 상대 값으로 바꾸기 : 상대 값으로 바꿀 때는 plus, minus 연산을 이용한다.
var time = LocalTime.of(19, 30, 20)
time = time.plusHours(1) // 20:30:20
time = time.plusMinutes(1) // 20:31:20
time = time.plusSeconds(1) // 20:31:21
4. LocalTime 포메팅하기
LocalTime 또한 LocalDate와 마찬가지로 포메팅 할 수 있다.
val timeFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("H:mm:ss")
val time: LocalTime = LocalTime.parse("19:30:20", timeFormatter) // LocalTime 객체 생성됨
val timeFormatterNew: DateTimeFormatter = DateTimeFormatter.ofPattern("H:mm.ss")
time.format(timeFormatterNew) // 19:30.20
반응형