Получить день месяц год от java.sql.date

Мой вопрос прост мой SQL запрос из Java возвращает дату и назначить ее java.sql.Date переменная.

однако я хочу получить каждый день, месяц и год как int. Кажется, что методы getDay(),getMonth() устарели.

Есть ли другой способ добиться этого?

что я попробовал для тестирования:

String date = "2015-04-12";
java.sql.Date dat = java.sql.Date.valueOf(date);

теперь я хочу год, месяц и день в переменной типа int каждый.

2 ответа

Решение

Вы можете сделать следующее:

String date = "2015-04-12";
java.sql.Date dat = java.sql.Date.valueOf(date);
//create calander instance and get required params
Calendar cal = Calendar.getInstance();
cal.setTime(dat);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
int year = cal.get(Calendar.YEAR);

Поскольку java.sql.Date продолжается java.util.Date Вы могли бы использовать его по наследству toLocalDate() метод, чтобы получить экземпляр LocalDate (доступно начиная с Java 8), которая поддерживает многие get...() методы, такие как

String date = "2015-04-12";
java.sql.Date dat = java.sql.Date.valueOf(date);

LocalDate localDate = dat.toLocalDate();
System.out.println(localDate.getDayOfMonth());
System.out.println(localDate.getMonthValue());
System.out.println(localDate.getYear());

Выход:

12
4
2015
Другие вопросы по тегам