jdk1.7和1.8获取上周上月上季度日期
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); }