我的问题很简单,我SQL从java查询返回一个日期并将其分配给一个java.sql.Date变量.
但是我想把每天,每月和每年的每一天都当作int.看来,方法getDay(),getMonth()已被弃用.
有没有其他方法来实现这一目标?
我试过测试的是:
String date = "2015-04-12";
java.sql.Date dat = java.sql.Date.valueOf(date);
Run Code Online (Sandbox Code Playgroud)
现在我想要一个int变量的年,月和日.
kar*_*ala 10
您可以执行以下操作:
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);
Run Code Online (Sandbox Code Playgroud)
从java.sql.Date扩展开始,java.util.Date您可以使用其继承的toLocalDate()方法来获取LocalDate支持许多get...()方法的实例(自Java 8起可用)
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());
Run Code Online (Sandbox Code Playgroud)
输出:
12
4
2015
Run Code Online (Sandbox Code Playgroud)