我想得到當前時間的當天日期範圍
比如現在是 2007-3-1 13:24:59
要得到  2007-3-1 00:00:00  和  2007-3-2 00:00:00 long now=System.currentTimeMillis();
Date curDate=new Date(now);


Date todayBegin=new Date(now-(now%(24*60*60*1000)));
Date todayEnd=new Date(now-(now%(24*60*60*1000))+24*60*60*1000);
爲什麽得到的結果不准缺呢?誰告訴我原因

解决方案 »

  1.   

    Date date = new Date();
    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    Date todayBegin = formatter.parse(formatter.format(date));
    Date todayEnd = new Date(todayBegin.getTime()+24*60*60*1000);
      

  2.   

    用Calendar更简单,有直接的方法,具体参见api文档
      

  3.   

    小学地理学过,我们是东8区。currentTimeMillis取得的值基准是格林威治时间。
      

  4.   

    Date todayEnd=new Date(beginDate.getTime()+24*60*60*1000);
      

  5.   

    那麽Date date =new Date();就不會加8了吧??
      

  6.   

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.HOUR_OF_DAY, 0);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MILLISECOND, 0);
    Date begin = cal.getTime();
    cal.add(Calendar.DAY_OF_YEAR, 1);
    Date end = cal.getTime();