java获取指定和当前月第一天和最后一天,上个月第一天和最后一天

public static void main(String[] args) {
       //注意MM 别写成小写的mm了

      SimpleDateFormat sm = new SimpleDateFormat("yyyy-MM-dd");

 int startyear=2018;
 int lastmonth=1;

 

//获取指定年月第一天 

Calendar calstar= Calendar.getInstance();

 calstar.set(Calendar.YEAR, startyear);

 calstar.set(Calendar.MONTH, lastmonth-1);

 calstar.set(Calendar.DAY_OF_MONTH, 1);

 //calstar.set(Calendar.DAY_OF_MONTH, 0);//最后一天

 String star =sm.format(calstar.getTime());

 System.out.println("指定月第一天:"+star );

 

      //获取上个月的第一天
      Calendar cal = Calendar.getInstance();
      //上个月
      cal.add(Calendar.MONTH, -1);
      //设置为1号,当前日期既为本月第一天 
      cal.set(Calendar.DAY_OF_MONTH,1);
      String firstDay = sm.format(cal.getTime());
      System.out.println("上月第一天:"+firstDay);
      
      //获取上个月的最后一天
      Calendar call = Calendar.getInstance();  
      //设置上个月最后一天
      call.set(Calendar.DAY_OF_MONTH,0);
      String lastDay = sm.format(call.getTime());
      System.out.println("上月最后一天:"+lastDay);
      
      
      //获取当前月第一天:
      Calendar calstr = Calendar.getInstance();   
      //本月
      calstr.add(Calendar.MONTH, 0);
      //设置为1号为本月第一天 
      calstr.set(Calendar.DAY_OF_MONTH,1);
      String first = sm.format(calstr.getTime());
      System.out.println("当月第一天:"+first);
      
      //获取当前月最后一天
      Calendar calast = Calendar.getInstance();    
      //设置当月为最后一天
      calast.set(Calendar.DAY_OF_MONTH, calast.getActualMaximum(Calendar.DAY_OF_MONTH)); 
      String last = sm.format(calast.getTime());
      System.out.println("当月最后一天:"+last);
      
      //获取当前时间
     System.out.println("当前时间:"+sm.format(new Date()));
}

 

你可能感兴趣的:(java)