请教一个计算日期天数的问题 目前在做一个计算员工出勤天数的东西,数据库中有每次请假的天数(先不考虑跨月的情况)(有一个员工一个月请假两次的情况,就是有两条记录,分别对应每次请假),要用java实现算出每个月的出勤天数(每个月的天数减去周末减去请假天数),该怎么实现呢?困扰:怎么区分这次请假记录是不是这个月的? 反正大概就是以上意思,请大家帮帮我,有思路但说不清楚的,可以留下联系方式,谢谢你们了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LZ能不能把问题更清楚地说明一下,比如请假表的结构是什么样的?每个月的天数减去周末减去请假天数->要不要考虑小节日(比如端午,中秋) // 2008/01 Date[] d1 = new Date[]{new Date(2007-1900,12-1,29),new Date(2008-1900,1-1,5)}; Date[] d2 = new Date[]{new Date(2008-1900,1-1,29),new Date(2008-1900,2-1,1)}; Calendar c = Calendar.getInstance(); c.setTime(new Date(2008-1900,1-1,1)); int rtn = 0; while(c.get(Calendar.MONTH )== 0){ int week = c.get(Calendar.DAY_OF_WEEK); Date d = c.getTime(); c.add(Calendar.DATE, 1); if(d.compareTo(d1[0])>=0 && d.compareTo(d1[1])<=0) continue; if(d.compareTo(d2[0])>=0 && d.compareTo(d2[1])<=0) continue; if(week == 1 || week == 7) continue; rtn++; } System.out.println(rtn); 我刚写过计算工作日的方法,应该是先判定这些天是不是星期6,7 再判定这些天是不是你设定的假期或请假日之间的天 如果都不是,那么天数+1多个工作日或假期的话,可以用循环判定都符合,天数+1不然break 如何实现它的运算功能? 求助! 如何判断一个输入流是否已经到达末尾? 重写的用法?? 关于JTable取值问题??? JDBC的CLASSPATH设置 求如何向ACCESS数据库插入日期语句~急~请高手回答! 求助 大家来帮一下阿急用!!! 在线等待,顶者有分:JNI问题(怎样用JNI实现自动拨号功能?) 请教!JTable中其中的一列数据,如何控制输入的内容? 为什么对打包的文件,在java时要用packagename.classname? 帮我看看,这段js代码有问题吗? swt 动态计时器
请假表的结构是什么样的?
每个月的天数减去周末减去请假天数->要不要考虑小节日(比如端午,中秋)
Date[] d1 = new Date[]{new Date(2007-1900,12-1,29),new Date(2008-1900,1-1,5)};
Date[] d2 = new Date[]{new Date(2008-1900,1-1,29),new Date(2008-1900,2-1,1)};
Calendar c = Calendar.getInstance();
c.setTime(new Date(2008-1900,1-1,1));
int rtn = 0;
while(c.get(Calendar.MONTH )== 0){
int week = c.get(Calendar.DAY_OF_WEEK);
Date d = c.getTime();
c.add(Calendar.DATE, 1);
if(d.compareTo(d1[0])>=0 && d.compareTo(d1[1])<=0) continue;
if(d.compareTo(d2[0])>=0 && d.compareTo(d2[1])<=0) continue;
if(week == 1 || week == 7) continue;
rtn++;
} System.out.println(rtn);
应该是
先判定这些天是不是星期6,7
再判定这些天是不是你设定的假期或请假日之间的天
如果都不是,那么天数+1
多个工作日或假期的话,可以用循环判定
都符合,天数+1
不然break