calendar的一些操作

一、通过分析日期函数,根据日期进行一系列操作,例如:我们需要知道2个时间段中所有的日期等等。

  由于Calendar 类是一个抽象类,因此我们不能通过new来获取该对象的实例.我们可以通过其类方法 getInstance,以获得此类型的一个通用的对象。

//获取当前年、月、日 
Calendar cal = Calendar.getInstance(); int curr_month=cal.get(Calendar.MONTH)+1; int curr_year=cal.get(Calendar.YEAR); int curr_day=cal.get(Calendar.DAY_OF_MONTH);

二、设定自己的基准日期:

  这个时候我们可以使用set方法进行.可以设定具体的年月日:用法如下:

 

Calendar cal = Calendar.getInstance();  
     int year=2013;
     int month=11;
     int day=25;
     cal.set(year, month, day);
     System.out.println(cal.get(cal.YEAR));
     System.out.println(cal.get(cal.MONTH));
     System.out.println(cal.get(cal.DATE));

三、Calendar.add() 加上或减去的时间(amount)指定金额给定日历字段(field)

        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");  
                //上个月月初
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.MONTH, -1);
        calendar.set(Calendar.DAY_OF_MONTH, 1);

        int beginDate = Integer.parseInt(sdf.format(calendar.getTime()));

               //上个月月底
        Calendar calendar2 = Calendar.getInstance();
        calendar2.set(Calendar.DAY_OF_MONTH, 1); 
        calendar2.add(Calendar.DATE, -1);

        int endDate = Integer.parseInt(sdf.format(calendar2.getTime())

      //统计上个月所有日期

      String keys[] =new String[endDate-beginDate+1];
      int j = 0;
      for(int i = beginDate ;i<=endDate;i++){
        String key = i;
        keys[j] = key;
        j++;
      }

原文地址:https://www.cnblogs.com/hjsblogs/p/5949439.html