TO_DATE()是Oracle中的函数啊,我现在是输入java.uitl.Date型的,在方法中用java.sql.Date得到这个日期,就用jdbc把这个日期存入数据库,但是我在用java.util.Date得到的日期是正确的,当转换到java.sql.Date后,存入数据库的日期不是前面java.util.Date生成的日期。
我的问题是如何让我之前输入的日期到数据库里时不变。
我的问题是如何让我之前输入的日期到数据库里时不变。
调试欢乐多
我是用java.sql.Date date = new java.sql.Date(utilDate)的。
就是这句代码把日期变了,请问大家是怎么解决的
用这个试试吧
java.sql.Timstamp time=new java.sql.Timestamp(utilDate.getTime());
insert into talbe1 (a_time) values(to_date('"++"',"yyyy-mm-dd")
用PreparedStatement prep = ...
prep.setTimestamp(1,....);
prep.executeUpdate();
prep.close();这个才是良好的方法!!!
也就是PreparedStatement ps = ...
ps.setDate(1,xxxVO.getXXX());//getXXX()返回的是java.sql.Date
ps.executeUpdate();
ps.close();
请问我要做怎么样的转换呢,在界面层上我输入年,月,日。最后要生成java.sql.Date的一个对象再同数据库中插入。你说的setTimeStamp()这个方法能取到我输入的值吗?如果能取到那如何转成java.sql.Date呢?
cal.set(Calendar.YEAR,Integer.parse(yearStr));
cal.set(Calendar.MONTH,Integer.parse(monthStr));
cal.set(Calendar.DATE,Integer.parse(dateStr));ps.setTimestamp(1,new Timestamp(cal.getTime().getTime()));
setDate 是不包含时间的日期类型,Timestamp才是包含时间的
cal.set(Calendar.YEAR,Integer.parse(yearStr));
cal.set(Calendar.MONTH,Integer.parse(monthStr));
cal.set(Calendar.DATE,Integer.parse(dateStr));
java.sql.Timestamp ts = new java.sql.Timestamp(cal.getTime().getTime());Calendar才是日期处理的好方法!不要使用Date来完成