【原創】java 擷取十個工作日之後的日期(算當天)-完美解決-費元星(僅考慮星期六星期天)
/**
*
* 根據開始日期 ,需要的工作日天數 ,計算工作截止日期,并傳回截止日期
* @param startDate 開始日期
* @param workDay 工作日天數(周一到周五)
* @author 【狒狒:Q97175234】
* @time 2015-11-23 上午9:21:25
*
* @motto 既然笨到家,就要努力到家...
*/
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類型
* @author 【狒狒:Q9715234】
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];
【原創】java 擷取十個工作日之前的日期(算當天)-完美解決-費元星(僅考慮星期六星期天)
public static String getWorkDay(Date startDate, int workDay) {
c1.set(Calendar.DATE, c1.get(Calendar.DATE) -1);
c1.set(Calendar.DATE, c1.get(Calendar.DATE) - 1);
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
c1.set(Calendar.DATE, c1.get(Calendar.DATE) +1);
// System.out.println(df.format(c1.getTime()) + " " + getWeekOfDate(c1.getTime()));
return df.format(c1.getTime());
public static void main(String[] args) {
// Date date = AppUtil.getCurrentDate2();
System.out.println("工作日: 8天之前 " +getWorkDay(new Date(), 8));
System.out.println("工作日: 9天之前 " +getWorkDay(new Date(), 9));
System.out.println("工作日: 10天之前 " +getWorkDay(new Date(), 10));
System.out.println("工作日: 11天之前 " +getWorkDay(new Date(), 11));
未來星開發團隊--狒狒
QQ:9715234