date1.getTime()-date2.getTime() <= 5*24*60*60*1000

解决方案 »

  1.   

    用于判断某一天是否8位标准日期
    public boolean isStandardDate(String sourceString)
      {
        String date = sourceString;
        if(date == null)
        {
          return false;
        }
        else if(date.length()!=8)
        {
          return false;
        }
        else if(!isNumber(date))
        {
          return false;
        }
        else
        {
          String year = date.substring(0,4);
          String month = date.substring(4,6);
          String day = date.substring(6,8);
          if((month.compareTo("12")>0)||(month.compareTo("01")<0)||(day.compareTo("31")>0)||(day.compareTo("01")<0))
          {
            return false;
          }
          else
          {
            int Year = Integer.parseInt(year);
            if(month.compareTo("08")<0)
            {
              if(month.equals("02"))
              {
                if((Year%4==0)&&((Year%100!=0))||(Year%400==0))
                {
                  if(day.compareTo("29")>0)
                  {
                    return false;
                  }
                  else
                  {
                    return true;
                  }
                }
                else
                {
                  if(day.compareTo("28")>0)
                  {
                    return false;
                  }
                  else
                  {
                    return true;
                  }
                }
              }
              else
              {
                int Month = Integer.parseInt(month);
                if(Month%2==0)
                {
                  if(day.compareTo("30")>0)
                  {
                    return false;
                  }
                  else
                  {
                    return true;
                  }
                }
                else
                {
                  return true;
                }
              }
            }
            else
            {
              int Month = Integer.parseInt(month);
              if(Month%2==0)
              {
                return true;
              }
              else
              {
                if(day.compareTo("30")>0)
                {
                  return false;
                }
                else
                {
                  return true;
                }
              }
            }
          }
        }
      }
      

  2.   

    /**功能:日期调整。返回值:调整后的8位标准日期。
       * @param sourceString
       * @param addDays
       */
      public String dateAdjust(String sourceString, int addDays)
      {
        String returnString = sourceString;
        if(isStandardDate(sourceString))
        {
          SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
          Date dt = sdf.parse(sourceString, new ParsePosition(0));
          Calendar cal = Calendar.getInstance();
          cal.setTime(dt);
          cal.add(cal.DATE, addDays);
          Date dt1 = cal.getTime();
          StringBuffer strBuffer = new StringBuffer();
          strBuffer.append("");
          returnString = sdf.format(dt1, strBuffer, new FieldPosition(0)).toString();
        }
        return returnString;
      }
      

  3.   

    靠,太复杂了SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd hhmm");
    try{
     sdf.parse(strDate)
    }catch(ParseException){}
      

  4.   

    靠,太复杂了SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd hhmm");
    try{
     sdf.parse(strDate)
     return true;
    }catch(ParseException){
     return false;
    }