JDBC获取日期使用的是java.sql.Date,其继承自java.util.Data,实体一般使用java.util.date,因此从数据库获取数据没问题,但是修改数据库需要注意,String到java.sql.Date分两步:
/**
* 1.String转为java.util.Date
*/
String str = in.next();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date udStr = null;
try{
udStr = sdf.parse(str);
}catch(ParseException e){
e.printStackTrace();
}
/**
* 2.java.sql.Data转为java.sql.Data
*/
long time = udStr.getTime();//获取自1970年到现在的毫秒数
java.sql.Date sdStr = new java.sql.Date(time);
注意:
使用format方法将Date转成String时,SimpleDateFormat可实例化为任意期望的时间格式;但是使用parse方法将String转为Date时,SimpleDateFormat定义的格式与参数String的格式必须完全一致,不然就会出现Unparseable date。
此外,java.sql.Date只能取出年月日,而时分秒是取不到的。而若需要时分秒可用java.sql.TimeStamp。