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);
}