java.util.Date 就是在除了SQL语句的情况下面使用
java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分
它都有getTime方法返回毫秒数,自然就可以直接构建
java.util.Date d = new java.util.Date(sqlDate.getTime());
...
--------------------------------------------------------------------------------
java.util.Date 是 java.sql.Date 的父类(注意拼写)
前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用他
后者之后在读写数据库的时候用他,因为PreparedStament的setDate()的第2参数和ResultSet的getDate()方法的第2个参数都是java.sql.Date
转换是
java.sql.Date date=new Java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime());
反过来是一样的
java.sql.Date date=new java.sql.Date(curDate.getTime());
--------------------------------------------------------------------------------
继承关系:java.lang.Object --》 java.util.Date --》 java.sql.Date
具体的转换关系就是java.util.Date d=new java.util.Date (new Java.sql.Date());
若某个字段为date类型,
ps.setString(1,Str);str可以是19000101形式,也可以是1999-01-01等等类似的形式。都可以存进去,所以在设置bean的时候,可以把对应的属性设置为string,这样如果该属性即使没有被初始化,也不需要传入Date类型的,java.sql.Date.valueOf(p.getBirthday())在属性为null时候会报错,所以应该优先使用str来插入需要的日期类型数据
rs.getString("date");直接就可以得到1999-01-01类型的日期字符串
new SimpleDateFormat("yyyy").format(date);
new SimpleDateFormat("MMdd").format(date);
将date类型换成字符串形式p.setBirthday(new SimpleDateFormat("yyyy-MM-dd").format(rs.getDate("birthday")));//得换成util.date否者在对象转成json格式的时候报错