// 获取季度的区间
public static LocalDate[] getQuarterDateRange(String s) {
int year = Integer.parseInt(s.substring(1, 5));
int month = Integer.parseInt(s.substring(6, 8));
if (month < 1 || month > 12) {
throw new IllegalArgumentException("月份必须介于 1 到 12 之间");
}
// 计算季度的第一个月份
int firstMonthOfQuarter = (month - 1) / 3 * 3 + 1;
// 创建季度的第一天
LocalDate firstDayOfQuarter = LocalDate.of(year, firstMonthOfQuarter, 1);
// 使用TemporalAdjusters获取季度的最后一天
// 因为TemporalAdjusters.lastDayOfMonth()返回当月最后一天,我们需要先找到季度最后一个月的第一天,然后减去一天
LocalDate lastDayOfMonthNextQuarter = firstDayOfQuarter.plusMonths(2).with(TemporalAdjusters.lastDayOfMonth());
LocalDate lastDayOfQuarter = lastDayOfMonthNextQuarter;
// 返回季度开始和结束的日期
return new LocalDate[]{firstDayOfQuarter, lastDayOfQuarter};
}
给出年月[2024-07],获取当月季度区间
最新推荐文章于 2024-09-16 20:08:29 发布