一个日期字符串d="2012/05/23 05:05:02",然后给d加上n小时,得到一个新的日期字符串我实现了当前系统时间+n小时得到一个新日期,但无法实现用指定的日期+n小时SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.US);
Calendar date = Calendar.getInstance();
//Date d=sdf.parse("2012/05/23 05:05:02");//
//Date d=new Date("2012/05/23 05:05:02"); //设定一个日期,但后面给它+n小时就报错 d.HOUR cannot be resolved or is not a field
date.add(date.HOUR,23);//日期+23个小时,得到一个新日期out.print(sdf.format(date.getTime())+"<br>");//输出新日期

解决方案 »

  1.   

    /**
     * 得到当前日期后的N天的日期
     * 
     * @param days
     *            天数
     * @return
     */
    public static Date getBackDaysOfNow(int days) {
    Calendar now = Calendar.getInstance();
    now.setTimeInMillis(now.getTimeInMillis() + 1000L*3600*24*days);
    return now.getTime();
    }
    这个你改成加小时就OK
      

  2.   

    /**
     * 得到当前N分钟的时间
     * 
     * @param days
     *            天数
     * @return
     */
    public static Date getBackMnitOfNow(int minute) {
    Calendar now = Calendar.getInstance();
    now.add(Calendar.MINUTE, minute);
    return now.getTime();
    }
      

  3.   

    public static Date getBackMnitOfNow(int minute) {
    Calendar now = Calendar.getInstance();
    now.add(Calendar.HOUR, minute);
    return now.getTime();
    }