일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Bean
- spring
- zepettoworld.com
- 1
- 스프링
- autowired
- git #gitlab #github
- layout #thymeleaf #화면분할
- DispatcherServlet
- Component
- 스프링 부트
- 오토와이어드
- Today
- Total
기록과 정리
Date와 Time API 본문
이 글은 백기선님의 '더 자바, Java 8' 강의를 참고하였습니다.
https://www.inflearn.com/course/the-java-java8/lecture/48041?speed=1&tab=curriculum
소개
자바8 이전에 java.util.Date 클래스의 단점은 명확했다. 예를 들어 Date라는 이름을 가지고 있지만 , Time을 가져온다거나 (불명확)
중간에 set이 되면 안에 있는 값이 변경이 될 수도 있는 점(mutable하다)에서 Thread Safe 하지않으며
-100과 같은 값들이 들어갈 수 있어 타입 안정성이 없다. Type Safe하지 않음.
조금 더 명확한 API가 자바 8부터는 사용가능하기 시작했다.
주요 API
우선 시간에는 2가지로 표현이 가능한데, 첫째로 기계용 시간. 즉 기계가 알아보기 쉬운 시간. 기계용 시간은 UTC or GMT
UTC나 GMT는 기준시라하여 그리니츠 천문대가 있는 곳 기준의 시간을 말한다.
두번째는 인간이 관측하는 시간을 가져올 수 있다.
기간을 표현하는 방법 Period (인간용) , Duration(기계용) 기간을 표현한다고 보면 된다.
Util을 이용해 포맷을 해도되지만 기본적으로 자바에서 포맷팅을 제공한다.
https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
해당 레퍼런스로 가면 포멧팅에 대한 좀더 자세한 옵션들이 존재한다.
파싱은 값과 파싱할 데이터 타입을 넣으면 파싱이 가능하다.
또한 예전 API들이 새롭게 만들어진 API 들과 호환이 가능하도록 레거시 API를 지원해준다.
'IT > Java' 카테고리의 다른 글
제네릭(Generic)에 대하여 (0) | 2022.02.11 |
---|---|
자바의 정석 6장) 객체지향 프로그래밍 1 (0) | 2021.12.06 |
Java Optional (0) | 2021.08.23 |
Java8 Stream API (스트림 API) (0) | 2021.08.12 |
기본 메서드와 스태틱 메서드 (0) | 2021.08.03 |