JAVA 처리 시간-java.sql.Date,java.util.Date 와 데이터베이스 의 Date 필드 변환 방법

1.어떻게 java.util.Date 를 java.sql.Date 로 바 꿉 니까?전환:java.sql.Date sd;java.util.Date ud;//initialize the ud such as ud = new java.util.Date();sd = new java.sql.Date(ud.getTime());2.데이터베이스 에 삽입 하고 해당 필드 가 Date 형식 이면 Prepared Statement.setDate(int,java.sql.Date)방법 중의 java.sql.Date 는 위의 방법 으로 얻 을 수 있 고 데이터베이스 로 TO 를 제공 할 수 있 습 니 다.DATE 함수,예 를 들 어 현재 udtoDATE(new Simple DateFormat().format(ud,"yyy-MM-dd HH:mm:ss"),"YYYY-MM-DD HH 24:MI:SS")자바 에서 형식 과 데이터 베 이 스 를 제공 하 는 형식 이 다르다 는 것 을 주의 하 십시오.
하나의 실제 적 인 예
sql="update tablename set timer=to_date('"+t+"','yyyymmddhh24miss') where ....."
여기 t 는 변수 가 유사 합 니 다:200512111223
 
3."yyyy-mm-dd"형식의 문자열 을 java.sql.Date 로 변환 하 는 방법
방법
SimpleDateFormat bartDateFormat =         new SimpleDateFormat("yyyy-MM-dd");        String dateStringToParse = "2007-7-12";        try {         java.util.Date date = bartDateFormat.parse(dateStringToParse);         java.sql.Date sqlDate = new java.sql.Date(date.getTime());       System.out.println(sqlDate.getTime());        }        catch (Exception ex) {         System.out.println(ex.getMessage());        }
방법 2      String    strDate    =    "2002-08-09";         StringTokenizer    st    =    new    StringTokenizer(strDate,    "-");         java.sql.Date    date    =    new    java.sql.Date(Integer.parseInt(st.nextToken()),               Integer.parseInt(st.nextToken()),                Integer.parseInt(st.nextToken()));  
java.util.Date 와 java.sql.Date 의 공통점
java.sql.Date,java.sql.Time 과 java.sql.Timestamp 세 가 지 는 모두 java.util.Date 의 하위 클래스(포장 클래스)입 니 다.
       그런데 왜 자바.sql.date 형식의 값 을 데이터베이스 에 삽입 하면 Date 필드 에서 데이터 캡 처 가 발생 합 니까?
       java.sql.Date 는 SQL DATE 에 맞 춰 설 정 된 데이터 형식 입 니 다."규범 화 된 자바.sql.date 는 년 월 일 정보 만 포함 하고 시간 은 초 단위 로 0 입 니 다.형식 유사:YYYY-MM-DD.ResultSet 의 getDate()방법 을 호출 하여 반환 값 을 얻 을 때 자바 프로그램 은'규범'의 자바.sql.Date 를 참조 하여 데이터베이스 의 수 치 를 포맷 합 니 다.따라서 데이터베이스 에 존재 하 는 비 규범화 부분의 정 보 를 빼 앗 길 수 있다.
       sun 에서 제공 하 는 ResultSet.java 에서 getDate 에 대한 설명 은 다음 과 같 습 니 다.
      
Retrieves the of the designated column in the current row of this ResultSet object as a “java.sql.Date” object in the Java programming language.
        같은 이치.자바.sql.date 값 을 Prepare Statement 의 setDate 방법 으로 데이터베이스 에 저장 하면 자바 프로그램 은 들 어 오 는 자바.sql.date 를 규범화 시 키 고 비 규범 화 된 부분 을 약탈 합 니 다.그러나,우리 java.sql.Date 는 일반적으로 java.util.Date 에서 변 환 됩 니 다.예 를 들 어 java.sql.Date=new java.sql.Date(new java.util.Date().getTime().
 분명히 이렇게 변 환 된 java.sql.Date 는 규범 화 된 java.sql.Date 가 아 닙 니 다.java.util.Date 의 정확 한 값 을 저장 하려 면
 자바.sql.Timestamp 를 이용 해 야 합 니 다.
Calendar
Calendar  calendar=Calendar.getInstance();  
//현재 시간 획득,성명 시간 변수 
int  year=calendar.get(Calendar.YEAR);  
//해 를 얻다
int  month=calendar.get(Calendar.MONTH);  
//월 은 받 지만 월 은 1 을 더 해 야 합 니 다. 
month=month+1;
int  date=calendar.get(Calendar.DATE);  
//획득 일자 
String  today=""+year+"-"+month+"-"+date+"";

좋은 웹페이지 즐겨찾기