快速业务通道

Java中计算任意两个日期之间的工作天数 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
ram d1  * @param d2  * @return  */ public int getWorkingDay(java.util.Calendar d1, java.util.Calendar d2) {  int result = -1;  if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end   java.util.Calendar swap = d1;   d1 = d2;   d2 = swap;  }  int betweendays = getDaysBetween(d1, d2);  int charge_date = 0;  int charge_start_date = 0;//开始日期的日期偏移量  int charge_end_date = 0;//结束日期的日期偏移量   // 日期不在同一个日期内   int stmp;   int etmp;   stmp = 7 - d1.get(Calendar.DAY_OF_WEEK);   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); } }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号