티스토리 뷰
반응형
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
반응형
'Programming Language > Java' 카테고리의 다른 글
Java에서 날짜, 시간 제대로 다루기 (0) | 2021.01.27 |
---|---|
[Duration Class] 초와 나노초 단위로 시간의 구간을 표현하는 클래스 (0) | 2021.01.27 |
[ZonedDateTime Class] 시간대를 포함하는 날짜, 시간 클래스 (0) | 2021.01.27 |
[LocalDateTime Class] 날짜, 시간 한 번에 다루기 (0) | 2021.01.27 |
[LocalDate Class] 날짜(연, 월, 일) 다루기 (0) | 2021.01.27 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- HTTP 400
- HTTP 404 Not Found
- HTTP 401 Unauthorized
- LocalDateTime
- REST API Plain Text
- REST xml
- REST API란 무엇인가?
- sealed class enum
- HTTP 201
- HTTP 100 Continue
- sealed class 사용 방법
- sealed class 특징
- Kotlin sealed class 상속
- sealed class 1.5.0
- sealed class 안정성
- REST API POST
- REST API HTML
- kotlin
- REST JSON
- HTTP 204
- ZonedDateTime
- REST API GET
- HTTP 301 Moved Permanently
- java
- sealed class 상속
- Android
- 500 Internal Server Error
- Kotlin sealed class
- REST API PUT
- 코틀린 also
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함