Подтвердить что ты не робот

Получить текущую дату в формате 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 с тем же форматом?

4b9b3361

Ответ 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());