Получить день месяц год от 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