有一字符串"20100305"(2010年3月5日),现在想知道此日期 前第10,20,30天 分别是哪一天。比如20090121(2009年1月21日)的前20天为20090110(2009年1月1日)。请问怎么转化啊

解决方案 »

  1.   

    你先把其中的年月日分离出来,再用这些构造一个Date 对象 再处理
      

  2.   

    用 getTime 取出時間的毫秒。
    往前10天就是減去 10*24*60*60*1000
    往前20天就是減去 20*24*60*60*1000
    往前30天就是減去 30*24*60*60*1000
    得到的毫秒數再轉回日期。
      

  3.   

    [Quote=引用 2 楼 kebin0001 的回复:]
    用 getTime 取出時間的毫秒。
    往前10天就是減去 10*24*60*60*1000
    往前20天就是減去 20*24*60*60*1000
    往前30天就是減去 30*24*60*60*1000
    得到的毫秒數再轉回日期。
    [/Quote
      

  4.   

    Calendar类有个add方法,楼主可以看看,或许能够对你有所帮助!
      

  5.   


    public static void main(String[] args) {
     Calendar cal = Calendar.getInstance();
     cal.set(2009, 9, 1);//设置为2009年10月1日,注意,不是9月
     String str = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
     System.out.println(str);
     cal.add(Calendar.DAY_OF_YEAR, -365);//365天以前
     str = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
     System.out.println(str);
    }