fuliqi
2024-07-31 f284c5ef6a1aa6e9ba5d4e94e4b2abe83b6ea18c
ycl-server/src/main/java/com/ycl/utils/DateUtils.java
@@ -8,6 +8,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.util.Calendar;
import java.util.Date;
import java.util.Objects;
@@ -227,4 +228,34 @@
        LocalDateTime of = LocalDateTime.of(localDateTime.getYear(), localDateTime.getMonth(), localDateTime.getDayOfMonth(), 23, 59, 59);
        return Timestamp.valueOf(of);
    }
    /**
     * 获取指定Calendar的季度开始日期
      * @param calendar 日历
     * @return 季度第一天
     */
    public static Calendar getQuarterStart(Calendar calendar) {
        Calendar quarterStart = (Calendar) calendar.clone();
        // 设置为当前季度的第一个月的第一天
        quarterStart.set(Calendar.DAY_OF_MONTH, 1);
        int month = quarterStart.get(Calendar.MONTH);
        quarterStart.set(Calendar.MONTH, (month / 3) * 3);
        return quarterStart;
    }
    /**
     * 获取指定Calendar的季度结束日期
     * @param calendar 日历
     * @return 季度最后一天
     */
    public static Calendar getQuarterEnd(Calendar calendar) {
        Calendar quarterEnd = getQuarterStart(calendar);
        // 将月份设置为下一个季度的第一个月
        quarterEnd.add(Calendar.MONTH, 3);
        // 设置为那个月的最后一天
        quarterEnd.add(Calendar.DAY_OF_MONTH, -1);
        return quarterEnd;
    }
}