Nice programing

Java에서 Calendar를 java.sql.Date로 변환하는 방법?

nicepro 2020. 12. 13. 11:07
반응형

Java에서 Calendar를 java.sql.Date로 변환하는 방법?


Calendar cal;
String sql = "INSERT INTO ttable (dt) values (?);"
//dt is a dateTime field in ttable

PreparedStatement stmt = connection.prepareStatement(sql);

stmt = setDate(1,cal); //not working

stmt.execute();
stmt.close();

cal을 날짜 유형으로 변환하여 테이블에 삽입하고 싶습니다.


getTime()(가 GETDATE 호출되지 왜 확실) 방법.

편집 : java.sql.Date가 필요하다는 것을 깨달았습니다. 사용하는 답변 중 하나는 cal.getTimeInMillis()필요한 것입니다.


해봤 어 cal.getTime()? 이것은 날짜 표현을 얻습니다.

javadoc을 살펴볼 수도 있습니다.


사용하다 stmt.setDate(1, new java.sql.Date(cal.getTimeInMillis()))


변환은 쉽고 날짜와 시간을 설정하는 것은 약간 까다 롭습니다. 예를 들면 다음과 같습니다.

Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2000);
cal.set(Calendar.MONTH, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.HOUR_OF_DAY, 1);
cal.set(Calendar.MINUTE, 1);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
stmt.setDate(1, new java.sql.Date(cal.getTimeInMillis()));

다음은 Calendar값을 Date인스턴스 로 변환하는 간단한 방법 입니다.

Calendar C = new GregorianCalendar(1993,9,21);

Date DD = C.getTime();

System.out.println(DD);

stmt.setDate(1, new java.sql.Date(cal.getTime().getTime()));


이 코드가 작동한다는 것을 알았습니다.

SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd HH:mm:ss");    
Calendar calendar = new GregorianCalendar(2013,0,31);
System.out.println(sdf.format(calendar.getTime()));  

나머지는이 튜토리얼에서 찾을 수 있습니다 :
http://www.mkyong.com/java/java-date-and-calendar-examples/

참고 URL : https://stackoverflow.com/questions/9112770/how-to-convert-calendar-to-java-sql-date-in-java

반응형