spring으로 개발하다 보면 Date 자료형을 써야할 때가 많은데,
import 하려고 보면 보통 java.sql.Date와 java.util.Date 두가지 타입이 있다.
우선 java.sql.Date는 java.util.Date를 상속한 것.
java.sql.Date : JDBC등을 이용해서 DB에 격납된 날짜나 시각정보를 데이터로서 추출하거나
- 데이터베이스에 격납할 때의 영역으로 사용하며, 문자열 형식이 "2008-12-30 12:30:20" 와 같은 형태의 데이터
에 특화해서 사용하는데에 적합하다.
- 연월일시분초등의 요소를 따로 따로 분리하지 않고 하나의 정보로서 다룬다.
- 해당 클래스의 사용 목적은 년도, 월, 일을 유지하는 SQL 데이터를 다루기 위함이다.
- 시간 정보는 다루지 않고 0으로 초기화된다.
java.util.Date : 범용적인 날짜, 시각정보를 다루는 경우에 사용하며,
- 문자열 형식이 "Mon Dec 30 12:30:30 GMT-0700 2008"과 같은 GMT일시를 포함해서 각종 포맷에 대응된다.
- 연, 월, 일, 시, 분, 초 등의 요소를 따로 따로 분리하거나 비교, 계산하는 데도 사용된다.
- Java 8이 도입되면서 java.time 패키지의 사용이 권고된다.
시/분/초 정보를 가져오기 위해서는 java.sql.Date가 아닌 java.util.Date를 사용해야한다.
(추가 + Date, Calendar, LocalDate 의 차이 https://yhmane.tistory.com/121 )
'Programming Language > JAVA' 카테고리의 다른 글
[JAVA] Optional- of 와 ofNullable의 차이, orElse와 orElseGet의 차이 (0) | 2023.08.17 |
---|---|
[JAVA] list에 객체 add시 주의할 점 (0) | 2023.08.03 |
[JAVA] Stack (0) | 2023.02.16 |
[JAVA] transient 키워드 (0) | 2022.11.05 |