我这里有一个java.sql.Timestamp类型的变量,希望得到他的下一个月的时间,
例如:
    Timestamp timestamp = new Timestamp.valueOf("06-05-01 00:00:00.000000");
我想得到
  06-06-01 00:00:00.000000
有什么好的方法么。我现在的方法是
   SimpleDateFormat sdf = new SimpleDateFormat("MM");
   String month = sdf.format(timestamp);
然后再作成Timestamp类型。其实我是想得到这种类型的东西,
  从Timestamp timestamp = new Timestamp.valueOf("06-05-01 00:00:00.000000");
得到年月
  200605
然后得到
  200604
  200606
  200607
  200608有什么意见,请留下,谢谢

解决方案 »

  1.   

    Timestamp 类继承了 java.util.Date 类,可以象对待Date一样对待 Timestamp
      

  2.   

    写了个小例子:Timestamp ts = Timestamp.valueOf("2006-05-01 00:00:00.000000");
            Calendar c = Calendar.getInstance();
            c.setTimeInMillis(ts.getTime());
            for (int i=0;i<3;i++){
                c.add(Calendar.MONTH,1);
                Timestamp ts1 = new Timestamp(c.getTimeInMillis());
                System.out.println(ts1);
            }
      

  3.   

    呵呵,其实可以用Calendar 的roll或set来实现,想知道去
    hi.baidu.com/yliang 看看
      

  4.   

    Calendar处理比较方便,不过注意Calendar里的月是从0开始的
      

  5.   

    一,用YEAR,MONTH,DAY 分别取出年月日三个变量,再对月变量进行加减,再组合成年-月-日字串并转换成日期二,直接用日期运算,但稍微麻烦点,因为有一处细节得处理,但具体的我忘记了
      

  6.   

    Timestamp timestamp = Timestamp.valueOf("06-05-01 00:00:00.000000");
    Calendar cal = Calendar.getInstance();
    cal.setTime(timestamp);
    cal.add(Calendar.MONTH,1);
    timestamp = new Timestamp(cal.getTime().getTime());
    System.out.println(new SimpleDateFormat("yy-MM-dd HH:mm:ss.SSSSSS").format(timestamp));