본문 바로가기
728x90

localdatetime2

12장. 새로운 날짜와 시간 API 자바 8 이전에도 날짜, 시간 관련 API가 존재했다. 자바 1.0에서는 java.util.Date 클래스로, java 1.1에서는 java.util.Calendar 클래스로 이 기능을 제공했다. 하지만 이들은 다음과 같은 문제를 가지고 있다. java.util.Date: 1900년을 기준으로 오프셋, 0에서 시작하는 달 인덱스, JVM 기본 시간대인 CET(Central European Time - 중앙 유럽 시간) 사용, 가변 등. 따라서 다음과 같이 괴상하게(?) 코드를 작성해야 한다. 1 Date date = new Date(117, 8, 21); // 2017년 9월 21일 cs java.util.Calendar: 1900년 부터 시작하는 오프셋은 없지만 여전히 달의 인덱스가 0 부터 시작했다,.. 2022. 3. 30.
Date/Time java8에서 새로 나온 날짜와 시간을 나타내는 api이다. 기존에 사용했던 Date, Calendar, SimpleDateFormat은 여러 불편함이 존재한다. 예를 들어 이름이 명확하지 않다. Date의 경우 날짜 뿐만 아니라 time stamp도 나타낼 수 있다. 또 한 Date.getTIme()은 일상적으로 사용하는 시간이 아닌 1970년 1월 1일 0시 0분 0초를 기준으로 현재시간을 뺀 값을 밀리세컨드 단위로 보여준다. 또 한 객체가 mutable하기 때문에 Date.setTime()을 통해 시간을 바꿀 수 있다. 따라서 thread-safe하지 않다. GregorianCalendar의 경우 type-safe하지 않다는 문제가 발생한다. GregorianCalendar는 연도, 월, 날짜를 인.. 2021. 11. 22.
728x90