public static String getObtainTime(String frmCycl) {
String upTime = null;
LocalDate today = LocalDate.now();
Date date = new Date();
if ("DAY".equals(frmCycl)){
upTime = DateUtil.format(DateUtil.yesterday(),"yyyy-MM-dd");
}
if ("WEEK".equals(frmCycl)){
upTime = today.minusWeeks(1).with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).toString();// 获取上个周第一天的日期
}
if ("MONTH".equals(frmCycl)){
upTime = today.minusMonths(1).with(TemporalAdjusters.firstDayOfMonth()).toString(); // 获取上个月第一天的日期
}
if ("QUARTER".equals(frmCycl)){
DateTime time = DateUtil.beginOfQuarter(date);
upTime = DateUtil.format(DateUtil.offsetMonth(time, -3),"yyyy-MM-dd");
}
if ("HALFYEAR".equals(frmCycl)){
int monthValue = today.getMonthValue();
int year = today.getYear();
if (monthValue<=6){
upTime = LocalDate.of(today.minusYears(1).getYear(), Month.JULY, 1).toString();
}else {
upTime = LocalDate.of(year, Month.JANUARY, 1).toString();
}
}
if ("YEAR".equals(frmCycl)){
upTime = LocalDate.of(today.minusYears(1).getYear(), Month.JANUARY, 1).toString();
}
return upTime;
}
获取上一周期时间
该代码段定义了一个方法getObtainTime,根据输入的周期类型(如DAY,WEEK,MONTH等)计算并返回过去某个周期的起始日期。例如,如果周期为WEEK,则返回上周一的日期;如果是MONTH,返回上个月的第一天等。
摘要由CSDN通过智能技术生成