首先,java这里有两个类型:
java.sql.Date java.util.Date
两者的相互转换:
java.util.Date date = new java.util.Date();
java.sql.Date sqlDate=new java.sql.Date(date.getTime());
jdbc Preparestatement中的setDate( , )为java.sql.Date类型。
获取当前时间
java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
java.util.Date date = new java.util.Date();
sql数据库中,因为某些情况要保存日期,有些情况要保存日期时间(如2018-06-25和2018-06-25 12:01:00)故在数据库中定义了Date和Datetime,
我在数据库(sqlserver)中声明字段为datetime类型,如果要在java代码中向数据库插入数据,可使用TimeStamp对象:创建java.util.Date对象,转换成TimeStamp对象(java.sql.Date对象不能保存时间,utils的可以)插入数据库(TimeStamp继承自java.sql.Date,数据库中自动转换成DateTime)参考博主Sunybyjava
java.util.Date date = new java.util.Date(); // 获取一个Date对象
Timestamp timeStamp = new Timestamp(date.getTime()); // 将日期时间转换为数据库中的timestamp类型
pstmt.setTimestamp(2, timeStamp);
取出数据时,要使用rs.getTimestamp("**"),自动转换成实体类中的java.util.Date
r.setUseTime(rs.getTimestamp("useTime"));
另,java.util.Date显示格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String str = df.format(new Date());// new Date()为获取当前系统时间