直接传一个字符串
stmt.setDate(2,date.toGMTString());

解决方案 »

  1.   

    CallableStatement的setDate()是这样的:
    setDate(int, java.sql.Date);
    注意:第二个参数是一个java.sql.Date。
    所以这样调用:
    java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
    stmt.setDate(2, date);
      

  2.   

    用Timestamp  
    public static final Timestamp toTimestamp(String dateString,String formatter)
      {
      SimpleDateFormat sdf = new SimpleDateFormat(formatter, Locale.US);
      GregorianCalendar gc = new GregorianCalendar();
      try
      {
      gc.setTime(sdf.parse(dateString));
      }
      catch (ParseException ex)
      {
    ex.printStackTrace();
    return null;
      }
      return new Timestamp(gc.getTime().getTime());
      }如toTimestamp(s+ " " +"23:59:59","yyyy-mm-dd hh:mm:ss"));