把date转换成startDate(时间设为0:00),endDate=startDate+1天 不就行了 ?不明白你的意思,是输入一天,然后查所有这一天内的信息 ?

解决方案 »

  1.   

    你的startDate,endDate都是date类型的吧??为何要转换?
      

  2.   

    是查询这一天里的信息,是这样做的:
    ublic DbSgclRecord[] getSgclRecordByFsrq(java.sql.Date fsrq){
          SgclRecordHome eHome;
          try{
             eHome = entityFinder.getSgclRecordHome();
          }
          catch( NoFindEntity nf ){
             return null;
          }
          //Date convert to long, get next date.
          GregorianCalendar cal = new GregorianCalendar();
          cal.setTime( fsrq );
          cal.add( Calendar.DATE, 1 );
          java.sql.Date enddate = new java.sql.Date( cal.getTimeInMillis() );      try{
             java.util.LinkedList retList = new java.util.LinkedList();
             java.util.Collection c = eHome.findByFsrq( fsrq, enddate );
             java.util.Iterator it = c.iterator();
             while( it.hasNext() ){
           .........
      

  3.   

    但这样不行,抱错!
    在cal.setTime( fsrq );就报错了
    应该怎么做?
      

  4.   

    直接用date不得了
    enddate= new Date(startdate.getTime()+一天的数量);
      

  5.   

    我直接用的java.util.Date
    你也可以用呀,难道你用的不支持这些方法?
    那就用java.tuil.DateDate date = new Date(); 可以用你得到的Date fsrq
        Date odate = new Date(date.getTime() +864000000);我的结果完全正确呀,也没有错误.......
      

  6.   

    还是不行啊,我用的是java.sql.Date,到
     java.util.Collection c = eHome.findByFsrq( fsrq, new java.sql.Date(fsrq.getTime()+864000000) );
    这一步就抱错了
      

  7.   

    你用java.util.Date不得了 ?!你用的那个sql.Date 我没用过.
      

  8.   

    Date date = new Date(103,3,4); 参数是 年,月,日
        Date odate = new Date(date.getTime() +86400000);
        System.out.println(date+"   ##############   "+odate) 这样ok了吧...自己多试试嘛..
    我也从来没用过这个,试试就出来了 !!!
      

  9.   

    2003-04-04   ##############   2003-04-05这是运行结果...
    你的java.sql.Date 类