Programing/Java JSP

java.sql.Date <==> java.util.Date

시처럼 음악처럼 2014. 3. 5. 22:03
http://m.blog.naver.com/PostView.nhn?blogId=tinenie&logNo=110038870008

Java 로 DB 에서 데이터를 가져올때
#### 1. java.sql.Date ==> java.util.Date
java.util.Date utilDate = new java.util.Date(rs.getDate("regdate").getTime());
java.util.Date utilDate = rs.getTimestamp("regdate");    //->java.sql.Timestamp가  Date을 상속하기 때문에 이렇게 쓸 수 있음

#### 2. java.util.Date ==> java.sql.Date
pstmt.setDate(4, new java.sql.Date(java.util.Date.getTime()) );
pstmt.setTimestamp(4, new java.sql.Timestamp(java.util.Date.getTime()) );
 
 
//밀리초로 바꿔주는 cal.getTimeInMillis()  함수를 이용해 다양한 방식?으로 넣을 수 있습니다.
pstmt.setDate(int parameterIndex, java.sql.Date(cal.getTimeInMillis()))
pstmt.setTime(int parameterIndex, java.sql.Time(cal.getTimeInMillis()))
pstmt.setTimestamp(int parameterIndex, java.sql.Timestamp(cal.getTimeInMillis()))
 
#### 3. 문자열로 사용하기
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String regdateStr = sdf.format(rs.getTimestamp("regdate"));
 
####
java.util.Date.getTime()

DateUtil
getDate()메서드로 값을 가지고 와서 해당 Date를
// Calendar 를 DB 의 등록일로 설정함
Calendar cal = Calendar.getInstance();
cal.setTime(rs.getDate("regdate"));
cla.getTime() 이 입력시간하고 같아야 한다.
 

java.sql.Date 클래스는 JDBC등을 이용해서 데이터베이스에 격납된 날짜나 시각정보를 데이터로서 추출하거나
데이터베이스에 격납할 때의 영역으로 사용합니다. 문자열 형식이 "2008-12-30 12:30:20" 와 같은 형태의 데이터
에 특화해서 사용하는데에 적합합니다.
연월일시분초등의 요소를 따로 따로 분리하지 않고 하나의 정보로서 다룹니다.
 
java.util.Date 클래스는 보다 범용적인 날짜, 시각정보를 다루는 경우에 사용합니다.
문자열 형식이 "Mon Dec 30 12:30:30 GMT-0700 2008"과 같은 GMT일시를 포함해서 각종 포맷에 대응됩니다.
java.sql.Date 와같이 연월일시분초등의 요소를 따로 따로 분리하지 않고 하나의 정보로서 다루는 것도 가능하고
연, 월, 일, 시, 분, 초 등의 요소를 따로 따로 분리하거나 비교, 계산하는 데도 사용됩니다.
 
 
#############################################
# 오라클에서 사용하기 - 09.08.28
#############################################
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd a hh:mm:ss"); // 오전/오후

 SimpleDateFormat SDF_DEFAULT  = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
 SimpleDateFormat SDF_SHORT   = new SimpleDateFormat("yy-MM-dd hh:mm:ss");
 SimpleDateFormat SDF_YMD    = new SimpleDateFormat("yyyy-MM-dd");
 SimpleDateFormat SDF_YMD_SHORT = new SimpleDateFormat("yy-MM-dd");
 SimpleDateFormat SDF_HMS    = new SimpleDateFormat("hh:MM:ss");

 // Oracle 의 Date 형은 getTimestamp() 를 사용해야됨
 // getDate() 는 YYYY/MM/DD 까지만 표시됨
 
sdfStr = sdf2.format(rs.getTimestamp("WARRANT_YYYYMMDD").getTime());
 
rs.getDate("WARRANT_YYYYMMDD")