Как конвертировать календарь в java.язык SQL.Свидание на Яве?
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 в тип даты для вставки в таблицу.
7 ответов:
есть getTime метод (не уверен, почему он не называется getDate).
Edit: просто понял, что вам нужна java.язык SQL.Дата. Один из ответов, которые используют
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);
Я нашел этот код работает:
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/