问题描述:在一个查询的函数中,有2个参数是Date类型,代表查询的时间范围。开始时间和结束时间
public List query***(String keyword,Date startDate,endDate);
为了方便用户,提供了默认选项,即开始时间默认是当天开始点,结束时间是当天最后点,
比如 今天是2008-05-12,则默认开始时间是2008-05-12 00:00:00   默认结束是 2008-05-12 23:59:59
这2个Date怎么得到呢?

解决方案 »

  1.   

    这个很简单,你将Date类型的日期 转成字符串date="2008-05-12"。然后 begin=date+" 00:00:00" end=date+" 23:59:59"最后,使用SimpleDateFormat来解析这个字符串,把他解析成日期Date,就可以了
      

  2.   


    Calendar start = Calendar.getInstance();
            start.set( Calendar.HOUR_OF_DAY,00);
            start.set( Calendar.MINUTE, 0);
            start.set( Calendar.SECOND,0);
            
            Calendar end = Calendar.getInstance();
            end.set(Calendar.HOUR_OF_DAY,23);           
            end.set( Calendar.MINUTE,59);           
            end.set(Calendar.SECOND,59);
            
            SimpleDateFormat sm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            System.out.println("start:" + sm.format(start.getTime()));
            System.out.println("end:" + sm.format(end.getTime()));
      

  3.   

    将时间设成char型,要好操作一点
    我用的就是char型
      

  4.   


    恩,几位朋友的方案解决了问题了。
    我采用的是anqini的方案lovingprince的方案也不错,考虑到如果你是项目经理,你会更愿意看到anqini这样的写法evoloyeu的提法比较创新,但不得不说,这样的做法一般不宜,因为数据库和代码写者大多数时候
    不是一个人,你不能因为自己写程序的方便而要求改数据库。数据库设计者将日期设成date类型是
    没错的