티스토리 뷰

반응형

← 목차로 돌아가기

 

Java에서 날짜, 시간 제대로 다루기

개요 기존 Date 클래스와 Calendar 클래스는 날짜와 Timezone 관련되어 개발자를 헷갈리게 하는 부분이 많아 쓰는 것을 지양해야 한다. 위에 대한 대체제로 LocalDateTime, LocalDate, LocalTime가 java 1.8에서..

dev-cho.tistory.com


 

1. LocalTime 만들기

객체 생성 정적 메서드를 이용하여 LocalTime 인스턴스를 만든다.

/* 직접 지정하여 만들기 */
LocalTime time = LocalTime.of(19, 30, 20);

/* String을 LocalTime으로 만들기 */
LocalTime timeParse = LocalTime.parse("19:30:20");

/* 현재 시간을 LocalTime으로 만들기 */
LocalTime timeNow = LocalTime.now();

 

2. LocalTime에서 값 읽기

LocalTime는 시간 값을 읽는 여러 메서드를 제공한다.

  • LocalTime에서 직접 변수에 접근하여 읽는 방법
  • TemporalField를 이용하여 읽는 방법
LocalTime time = LocalTime.of(19, 30, 20);

/* 시간 출력하기 */
int hour = time.getHour(); // 19
int hourTempField = time.get(ChronoField.HOUR_OF_DAY); // 19

/* 분 출력하기 */
int minute = time.getMinute(); // 30
int minuteTempField = time.get(ChronoField.MINUTE_OF_HOUR); // 30

/* 초 출력하기 */
int second = time.getSecond(); // 20
int secondTempField = time.get(ChronoField.SECOND_OF_MINUTE); // 20

 

3. LocalTime 속성 바꾸기

LocalTime은 불변객체이다. 따라서 속성값( 시, 분, 초 )을 바꾸려면 새로운 객체를 생성해 할당하거나 기존 객체에 재할당 해야 한다. 아래에서는 기존 객체에 재할당 했다.

  • 특정 값으로 바꾸기 : 특정 값으로 바꿀 때는 with연산을 이용한다.
LocalTime time = 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 연산을 이용한다.
LocalTime 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와 마찬가지로 포메팅 할 수 있다.

DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("H:mm:ss");
LocalTime time= LocalTime.parse("19:30:20", timeFormatter); // LocalTime 객체 생성됨

DateTimeFormatter timeFormatterNew = DateTimeFormatter.ofPattern("H:mm.ss");
time.format(timeFormatterNew); // 19:30.20

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함