2010-03-07 2 views
2

테이블에 DATE 데이터 유형 인 mysql 열이 있습니다. 나는 형식으로 내 자바 코드에서 해당 컬럼의 값을 설정하려는 YYYY-MM-DD 나는 이러한 형식을 테스트하는 코드를 다음 사용Java에서 현재 날짜를 MySQL 날짜 열로 설정하는 방법은 무엇입니까?

..

Calendar c = Calendar.getInstance(); 
c.setTime(new Date()); 
String d = c.YEAR+ "-"+c.MONTH+"-"+c.DATE; 

하지만 몇 가지 이상한 출력하는 경우를 얻을 난 콘솔에 그 값을 출력하십시오. 도와주세요. 어떻게이 일을 성취 할 수 있습니까?

답변

2

당신이해야 할 것은 :

String d = c.get(Calendar.YEAR) + "-" + c.get(Calendar.MONTH) + "-" + c.get(Calendar.DATE) 

내가 바보 인 당신은 또한 (이 오프셋 (offset)를 돌려줍니다으로 한 달에 하나를 추가 할 필요가 대신 월 값의 (0부터 계산) 정확히 기억 경우 나를 위해, 그러나 나는 디자인을하지 않았다).

또한 SimpleDateFormat과 그 기능을 확인하여 좋은 방법으로 날짜를 형식화 할 수 있습니다.

3

JDBC의 경우 setDate() 메서드를 사용하여 준비된 문에 DATE 값을 설정할 수 있습니다 (the API of PreparedStatement 참조). 이 값은 데이터베이스의 DATE 유형으로 변환됩니다.

PreparedStatement prep = con.prepareStatement("some query with a DATE field"); 
Date d = new Date(System.currentTimeMillis()); 
// just an example (its the java.sql.Date class, not java.util.Date) 
prep.setDate(index, d); 
// ... 

다시 DATE 필드의 값이 java.sql.Date 개체를 얻을 ResultSet classgetDate() 방법을 사용하십시오.

ResultSet res = con.executeQuery("some query with a DATE field"); 
Date d = res.getDate(index); 

당신은 그것에서 확장의 (a Calendar 목적에 사용 같이) java.util.Date 객체와 같은 d 객체로 작업 할 수 있습니다.

+0

고맙습니다. 이것은 정말로 나를 도왔다. :) –

관련 문제