Получить текущую дату в формате java.sql.Date
Мне нужно добавить текущую дату в подготовленный оператор вызова JDBC. Мне нужно добавить дату в формате yyyy/MM/dd
.
Я попробовал
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Date date = new Date();
pstm.setDate(6, (java.sql.Date) date);
но у меня есть эта ошибка:
threw exception
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
Есть ли способ получить объект java.sql.Date
с тем же форматом?
Ответы
Ответ 1
A java.util.Date
не является java.sql.Date
. Это наоборот. A java.sql.Date
является java.util.Date
.
Вам нужно преобразовать его в java.sql.Date
с помощью конструктора который принимает long
, который может предоставить java.util.Date
.
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
Ответ 2
Просто в одной строке:
java.sql.Date date = new java.sql.Date(Calendar.getInstance().getTime().getTime());
Ответ 3
new java.sql.Date(Calendar.getInstance().getTimeInMillis());