一、java.util.Date类型用于java中,而将此种类型的Date格式插入oracle数据库时需要转换为java.sql.Date或者java.sql.Timestamp
1.java.sql.Date和java.sql.Timestamp区别:
java.sql.Date只有日期,没有时间
java.sql.Date dd = java.sql.Date.valueOf("2010-01-01 11:20:12"); //报错
java.sql.Date dd = java.sql.Date.valueOf("2010-01-01"); //正确
java.sql.Timestamp有时间也有时间
java.sql.Timestamp tt = java.sql.Timestamp.valueOf("2010-11-09"); //报错
java.sql.Timestamp tt = java.sql.Timestamp.valueOf("2010-11-09 11:20:12"); //正确
2. java.util.Date转为java.sql.Date:
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
3.java.util.Date转为java.sql.Timestamp:
java.sql.Timestamp tt = new java.sql.Timestamp(java.util.Date.getTime());
4.java.sql.Date和java.sql.Timestamp构造方式:
java.sql.Date state = new java.sql.Date(utilDate.getTime());
java.sql.Date state = java.sql.Date.value("2010-11-09");
--------------------------------------------------------
java.sql.Timestamp tt = new java.sql.Timestamp(java.util.Date.getTime());
java.sql.Timestamp tt = java.sql.Timestamp.valueOf("2010-11-09 11:20:12");
4.总结:
util.Date、sql.Date和Timestamp他们都有getTime()方法,所以他们之间可以转换
转换规则:
new Date(xxx.getTime());
new Timestamp(xxx.getTime());