传入一个字符串(2009-04-01 10:340) ,加上一个月后返回一个String的日期,,请问如何做

解决方案 »

  1.   

    假设你题目写错了,应该是 2009-04-01 10:34,后面没有0(1 小时有 340 分钟吗?)1、转换成 Date
    2、用 Calendar 类将其加上一个月
    3、转换回 StringCalendar c = Calendar.getInstance();
    SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    c.setTime(f.parse("2009-04-01  10:34"));
    c.add(Calendar.MONTH, 1);
    String str = f.format(c.getTime());
      

  2.   

    希望有所启示:
    http://blog.csdn.net/justinavril/archive/2008/09/06/2891266.aspx
      

  3.   

    如何你的数据库是oracle,直接利用日期函数来计算下一个月,并判断一个月后的日期,最后组合。很简单。
    如果直接在程序里算有点麻烦!
      

  4.   

    try {
                Calendar c = Calendar.getInstance();
                SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String oldStr = "2009-04-01  10:34:00";
                c.setTime(f.parse(oldStr));
                c.add(Calendar.MONTH, 1);
                String newStr = f.format(c.getTime());
                System.out.println(newStr);
            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }
      

  5.   

    Calendar c = Calendar.getInstance();
    SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    try {
    c.setTime(f.parse("2009-04-01 10:34"));
    } catch (ParseException e) {
    e.printStackTrace();
    }
    c.add(Calendar.MONTH, 1);
    String str = f.format(c.getTime());
    System.out.println(str);
      

  6.   

    如果数据库使用oracle直接可以用add_months方法,你查一下文档。