Java中获取指定日期前n天或后n天日期

时间:2024-10-12 07:41:34

根据指定日期获取前n天日期(筛除周六日)

获取某一天前n天的工作日期,周一到周五 ,具体实现如下
首先提供一个查询某天是星期几的接口,如下

/**
     * 根据日期,获取星期几
     * @param date
     * @return String类型
     */
    public static String getWeekOfDate(Date date) {
   
        String[] weekDays = {
    "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
        if (w < 0){
   
            w = 0;
        }
        return weekDays[w];
    }

接下来查询某天前n个工作日的日期

/**
     *
     * 根据指定日期 计算n天前的日期(周一到周五不包含周六日)
     * @param endDate 截止日期
     * @param workDays 几个工作日
     *
     */
    public static String getBeforeWorkDays(Date endDate, int workDays) {
   
        Calendar c1 = Calendar.getInstance<