将当前日期插入到数据库中,语句执行正常,但是数据库中显示的时间却是1905-6-14,跟踪执行过程,显示insert时的时间参数是2006-4-12,将系统时间改为1999-12-12,显示的是1905-5-30,
代码如下:
Date date=new Date();
java.text.SimpleDateFormat sf=new java.text.SimpleDateFormat("yyyy-MM-dd");
String RegistTime=sf.format(date);
String Insert_sql="insert into user (registdate) values ("+RegistTime+")";请问各位dx是什么原因导致这样的问题?

解决方案 »

  1.   

    String Insert_sql="insert into user (registdate) values (to_date("+RegistTime+"))";
      

  2.   

    String Insert_sql="insert into user (registdate) values (to_date("+RegistTime+",'yyyy-MM-dd'))";
      

  3.   

    Date date=new Date();
    java.text.SimpleDateFormat sf=new java.text.SimpleDateFormat("yyyy-MM-dd");
    String RegistTime=sf.format(date.toLocaleString());这句我改了
    String Insert_sql="insert into user (registdate) values ("+RegistTime+")";
    看看
      

  4.   

    注意,在SQL语句的日期值最好用单引号括起来,有很多都错误都是不加造成的
      

  5.   

    同意:powerman_lyj(刘瑜江) 
    String Insert_sql="insert into user (registdate) values ('"+RegistTime+"')";
    如果你的数据库的registdate的类型如果是时间类型的话,上面这个加了单引号的sql应该可以