jdk1.7和1.8获取上周上月上季度日期

1.7

一,上周

 public static void lastWeek(){
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");      
     Calendar calendar = Calendar.getInstance();         
     calendar.set(Calendar.DAY_OF_WEEK,2);//本周一
     calendar.add(Calendar.DATE, -7); //上周一      
     String startTime = sdf.format(calendar.getTime());      
     calendar.add(Calendar.DATE, 6);//上周日
     String endTime = sdf.format(calendar.getTime());        
     System.out.println(startTime+"~"+endTime);
 }

 

二,上月

 public static void lastMonth(){
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
     Calendar calendar = Calendar.getInstance(); 
     calendar.add(Calendar.MONTH,-1);//上个月
     calendar.set(calendar.DATE, calendar.getActualMinimum(calendar.DATE));//第一天     
     String startTime = sdf.format(calendar.getTime());  
     calendar.set(calendar.DATE, calendar.getActualMaximum(calendar.DATE));//最后一天
     String endTime = sdf.format(calendar.getTime());        
     System.out.println(startTime+"~"+endTime);
 }

 

三,上季度

public static void lastQuarter(){
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Calendar calendar = Calendar.getInstance();
    int month = calendar.get(Calendar.MONTH)+1;
    calendar.add(Calendar.MONTH, -(month%3)); //上个季度最后一个月3,6,9,12
    calendar.set(Calendar.DATE, calendar.getActualMaximum(calendar.DATE));//最后一天
    String endTime = sdf.format(calendar.getTime());
    calendar.add(Calendar.MONTH, -2);//上个季度第一个月1,4,7,10
    calendar.set(Calendar.DATE, calendar.getActualMinimum(calendar.DATE));//第一天        
    String startTime = sdf.format(calendar.getTime());                    
    System.out.println(startTime+"~"+endTime);
}

 1.8

一,上周

public static void lastWeek(){
    LocalDate startTime =  LocalDate.now().plusWeeks(-1).with(DayOfWeek.MONDAY);
    LocalDate endTime =  LocalDate.now().plusWeeks(-1).with(DayOfWeek.SUNDAY);
    System.out.println(startTime.toString()+"~"+endTime);
}

二,上月

public static void lastMonth(){
    LocalDate startTime =LocalDate.now()
         .plusMonths(-1).with(TemporalAdjusters.firstDayOfMonth());
    LocalDate endTime =  LocalDate.now()
        .plusMonths(-1).with(TemporalAdjusters.lastDayOfMonth());
    System.out.println(startTime.toString()+"~"+endTime);
}

三,上季度

public static void lastQuarter(){
    LocalDate localDate = LocalDate.now();
    int month = localDate.getMonthValue();
    LocalDate endTime =  localDate.plusMonths(-(month%3))
        .with(TemporalAdjusters.lastDayOfMonth());
    LocalDate startTime =  endTime.plusMonths(-2)
        .with(TemporalAdjusters.firstDayOfMonth());
    System.out.println(startTime.toString()+"~"+endTime);
}

 

posted @ 2020-08-28 16:21  水映苑  阅读(248)  评论(0编辑  收藏  举报