1. 程式人生 > 其它 >java 獲取十個工作日之前或之後的日期(算當天)

java 獲取十個工作日之前或之後的日期(算當天)

/**
     *
     * 根據開始日期 ,需要的工作日天數 ,計算工作截止日期,並返回截止日期
     * @param startDate 開始日期
     * @param workDay 工作日天數(週一到週五)
     */
    public static String getWorkDay(Date startDate, int workDay) {
        Calendar c1 = Calendar.getInstance();
        c1.setTime(startDate);
        for (int i = 0; i < workDay; i++) {
            c1.
set(Calendar.DATE, c1.get(Calendar.DATE) - 1); if (Calendar.SATURDAY == c1.get(Calendar.SATURDAY) || Calendar.SUNDAY == c1.get(Calendar.SUNDAY)) { workDay = workDay + 1; c1.set(Calendar.DATE, c1.get(Calendar.DATE) - 1); continue; } } SimpleDateFormat df
= new SimpleDateFormat("yyyy-MM-dd"); c1.set(Calendar.DATE, c1.get(Calendar.DATE) +1); return df.format(c1.getTime()); } /** * * 根據開始日期 ,需要的工作日天數 ,計算工作截止日期,並返回截止日期 * @param startDate 開始日期 * @param workDay 工作日天數(週一到週五) */ public static Date getWorkDay(Date startDate, int
workDay) { Calendar c1 = Calendar.getInstance(); c1.setTime(startDate); for (int i = 0; i < workDay; i++) { c1.set(Calendar.DATE, c1.get(Calendar.DATE) + 1); if (Calendar.SATURDAY == c1.get(Calendar.SATURDAY) || Calendar.SUNDAY == c1.get(Calendar.SUNDAY)) { workDay = workDay + 1; c1.set(Calendar.DATE, c1.get(Calendar.DATE) + 1); continue; } } SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(df.format(c1.getTime()) + " " + getWeekOfDate(c1.getTime())); return c1.getTime(); } /** * 根據日期,獲取星期幾 * @param dt * @return String型別 */ public static String getWeekOfDate(Date dt) { String[] weekDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; Calendar cal = Calendar.getInstance(); cal.setTime(dt); int w = cal.get(Calendar.DAY_OF_WEEK) - 1; if (w < 0) { w = 0; } return weekDays[w]; }

轉自:https://www.cnblogs.com/feiyuanxing/p/4990542.html