|
Java中计算任意两个日期之间的工作天数(3) etmp = 7 - d2.get(Calendar.DAY_OF_WEEK); if (stmp != 0 && stmp != 6) {// 开始日期为星期六和星期日时偏移量为0 charge_start_date = stmp - 1; } if (etmp != 0 && etmp != 6) {// 结束日期为星期六和星期日时偏移量为0 charge_end_date = etmp - 1; } // } result = (getDaysBetween(this.getNextMonday(d1), this.getNextMonday(d2)) / 7) * 5 + charge_start_date - charge_end_date; //System.out.println("charge_start_date>" + charge_start_date); //System.out.println("charge_end_date>" + charge_end_date); //System.out.println("between day is-->" + betweendays); return result; }
public String getChineseWeek(Calendar date) { final String dayNames[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
int dayOfWeek = date.get(Calendar.DAY_OF_WEEK);
// System.out.println(dayNames[dayOfWeek - 1]); return dayNames[dayOfWeek - 1];
}
/** * 获得日期的下一个星期一的日期 * * @param date * @return */ public Calendar getNextMonday(Calendar date) { Calendar result = null; result = date; do { result = (Calendar) result.clone(); result.add(Calendar.DATE, 1); } while (result.get(Calendar.DAY_OF_WEEK) != 2); return result; } /** * * @param d1 * @param d2 * @return */ public int getHolidays(Calendar d1,Calendar d2){ return this.getDaysBetween(d1, d2)-this.getWorkingDay(d1, d2); } }
|