使用java.util.Calendar ca = java.util.Calendar.getInstance(); 
ca.add(Calendar.DAY_OF_MONTH, -1); 
可以提取到前一天的日期,我还想分别提取出前一天日期的年、月和日,可是ca.add(Calendar.DAY_OF_MONTH, -1);返回值不是Calendar,我不知道该怎样实现,哪位高手能帮我?谢谢

解决方案 »

  1.   

    java.util.Calendar ca = java.util.Calendar.getInstance();
    ca.add(Calendar.DAY_OF_MONTH, -1);
    System.out.println("year:" + ca.get(Calendar.YEAR));
    System.out.println("month:" + (ca.get(Calendar.MONTH) + 1));
    System.out.println("date:" + ca.get(Calendar.DATE));
      

  2.   

    add 方法把 ca 对象的值改变了
    执行 ca.add(Calendar.DAY_OF_MONTH, -1); 后
    试试 System.out.println(ca.get(Calendar.DAY_OF_MONTH));
      

  3.   

     先定义一个方法
    public static String parseToString(Date date, String style) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
            simpleDateFormat.applyPattern(style);
            String str=null;
            if(date==null)
                return null;
            str=simpleDateFormat.format(date);
            return str;
        }
    然后在这里调用
    Date d=cal.getTime();
    String s=parseToString(d,"yyyyMMddHHmm");我用着没问题,仅供参考
    呵呵
      

  4.   

    ca.add(Calendar.DAY_OF_MONTH, -1);
    这个方法执行后ca会把年月日同时更新
    ca.getTime()就是date对象,再format就可以了