我的问题很简单,来自java的SQL
查询会返回一个日期,并将其分配给java.sql.Date
变量。
但是我希望将每天,每月和每年的每一天都视为int。似乎不推荐使用方法getDay()
,getMonth()
。
还有其他方法可以达到这个目的吗?
我尝试测试的是:String date = "2015-04-12";
java.sql.Date dat = java.sql.Date.valueOf(date);
现在我想要一个int变量的年,月和日。
答案 0 :(得分:8)
您可以执行以下操作:
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);
答案 1 :(得分:8)
由于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());
输出:
12
4
2015