`
pure1202
  • 浏览: 58901 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

怎样求2个日期间隔的工作日数?

阅读更多
已知:上班时间为9:00,下班时间表7:30,中午休息1个小时,工作7.5小时
则2009-04-08 9:00 ~ 2009-04-13 18:30的间隔工作日数为:4
分析:04-08 9:00~17:30 1天
04-09 9:00~17:30 1天
04-10 9:00~17:30  1天
04-11 双休
04-12 双休
04-13 9:00~18:30  1天

这个算法怎样实现?????
分享到:
评论
4 楼 pure1202 2009-04-08  
HOHO。。。。。,实现了:oops:
 
贴下代码,希望大家有时间帮我找找bug啦
3 楼 pure1202 2009-04-08  
可以计算出休息日的天数:
private static int[] val = new int[] { 1, 7 };// 默认休息日为 六,日
1方法:public static int getRestDays(String bDateStr,String eDateStr)
int days = 0;
Calendar bDate = getCalendar(bDateStr);
Calendar eDate = getCalendar(eDateStr);
while(eDate.after(bDate)){//判断是否有休息日
for (int i = 0; i < val.length; i++) {
if (bDate.get(bDate.DAY_OF_WEEK) == val[i]) {
days ++;
}
}
bDate.add(bDate.DATE,1);
}
return days;

两个日期相差的天数:
2方法:public double getDoubleMargin(String date1, String date2) {
double margin;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dt1 = sdf.parse(date1);
Date dt2 = sdf.parse(date2);
long l = dt1.getTime() - dt2.getTime();
margin = (l / (24 * 60 * 60 * 1000.00));
return margin;
}
结果:2方法-1方法 是肯定不可以的啦。
关键是要定位到时间点 怎么处理呢?
2 楼 pure1202 2009-04-08  
抛出异常的爱 写道

pure1202 写道
已知:上班时间为9:00,下班时间表7:30,中午休息1个小时,工作7.5小时 则2009-04-08 9:00 ~ 2009-04-13 18:30的间隔工作日数为:4 分析:04-08 9:00~17:30 1天 04-09 9:00~17:30 1天 04-10 9:00~17:30&nbsp; 1天 04-11 双休 04-12 双休 04-13 9:00~18:30&nbsp; 1天 这个算法怎样实现?????作过这个.... 用sql实现 不过法定假日没解决 TO_char(date,'D')得到的是星期 对星期分组...

谢谢。
TO_char(date,'D')用这个函数?能具体些吗?
一天:7.5/24 = 0.3125
把0.3125算1天吗?怎样排除非工作时间的日期呢?
1 楼 抛出异常的爱 2009-04-08  
pure1202 写道
已知:上班时间为9:00,下班时间表7:30,中午休息1个小时,工作7.5小时
则2009-04-08 9:00 ~ 2009-04-13 18:30的间隔工作日数为:4
分析:04-08 9:00~17:30 1天
04-09 9:00~17:30 1天
04-10 9:00~17:30  1天
04-11 双休
04-12 双休
04-13 9:00~18:30  1天

这个算法怎样实现?????

作过这个....
用sql实现
不过法定假日没解决
TO_char(date,'D')得到的是星期

对星期分组...

相关推荐

    计算任意2个日期内的工作日、休息日、天数间隔(没有考虑到国定假日)

    对于任意2个日期比如:date_start=2006-10-1、date_end=2006-10-14 ,首先计算这连个日期之间的时间间隔(天数),然后分别对date_start 和date_end 取得它们下一个星期一的日期,这样就可以得到一个新的可以整除7的...

    计算除周六日、法定节假日以外两个日期之间的间隔天数

    计算除周六日、法定节假日以外两个日期之间的间隔天数

    MySql 是否工作日判断,得到T+n个工作日(含自定义节假日)函数

    2、Mysql 得到T+n个工作日日期(带自定义节假日、法定节假日) fGetWorkDay('2018-02-13', 5) ------------------------------ 2018-02-26 fGetWorkDay('2018-09-26', 5) ------------------------------ 2018-...

    计算两个日期相隔天数并减去节假日

    计算两个日期相隔天数并减去节假日,这个可以使用在各种需要通知的场景以及工作日提醒等

    c#计算两日期的工作时间间隔(排除非工作日)及计算下一个工作时间点..pdf

    c#计算两日期的工作时间间隔(排除非工作日)及计算下一个工作时间点..pdf

    C#计算两个日期间隔的年月日,精确到天,无视闰年等

    C#计算两个日期间隔的年月日,精确到天,无视闰年等。 /// /// 计算两个日期间隔的年月日 /// /// &lt;param name="MinDate"&gt;&lt;/param&gt; /// &lt;param name="MaxDate"&gt;&lt;/param&gt; /// &lt;returns&gt;&lt;/returns&gt; public ...

    SQL语句计算两个日期之间有多少个工作日的方法

    本文的主要内容是用SQL语言计算两个日期间有多少个工作日,需要的朋友可以参考下

    asp.net+c#做的计算任意两天的间隔和工作日天数的源码

    自己写的,用来计算两个日期间的天数,以及工作日的天数,后者的算法我很满意.

    日期计算器

    开始日期,结束日期,间隔天数的计算。可以指定开始日期结束日期计算间隔天数;指定开始日期间隔天数计算结束日期;或者指定结束日期和间隔天数计算开始日期。支持农历显示。

    Java - DateUtil 日期时间转换工具类

    如果当前时间是节假日,返回下一个工作日;获取某天之后的下一个工作日;日期转毫秒数;将时间新增或减少对应日期等等。 资源功能:项目需要编写与时间转换相关的代码,使用该工具类可以简化开发。 适用人群:具有...

    EXCEL函数公式集

    怎么样设置才能让这一列的每个单元格只能输入12位 如何让工作表奇数行背景是红色偶数行背景是蓝色 计算特定的一组单元格中,满足条件的单元格的个数 把文本格式的数字转换成真正的数字 设置页码 Excel表格里如何插入...

    Excel公式大全操作应用实例(史上最全)

    怎么样设置才能让这一列的每个单元格只能输入12位 如何让工作表奇数行背景是红色偶数行背景是蓝色 计算特定的一组单元格中,满足条件的单元格的个数 把文本格式的数字转换成真正的数字 设置页码 Excel表格里如何插入...

    日期常用方法类 java版

    java版 日期常用方法类 ,//返回"yyyyMMdd"格式日期 //返回"yyyy-MM-dd"格式日期 //获取开始时间和结束时间之间的天数 //计算两个日期之间的时间间隔(d1-d2),可选择是否计算工作日计算两个时间之间的间隔 单位:...

    C语言FAQ 常见问题列表

    如果空指针的内部表达不是 0 会怎么样? o 6.4 NULL 是什么, 它是怎么定义的? o 6.5 在使用非全零作为空指针内部表达的机器上, NULL 是如何定义的? o 6.6 如果 NULL 定义成 #define NULL ((char *)0) 难道不就...

    Excel公式与函数大辞典.宋翔(带书签高清文字版).pdf

    3.5.12 WORKDAY.INTL——计算与指定日期相隔数个工作日的日期,使用参数指明周末的日期和天数 147 3.5.13 YEARFRAC——计算从开始日期到结束日期所经历的天数占全年天数的百分比 149 第4章 逻辑函数 151 4.1 逻辑...

    mysql的日期和时间函数

     这里的一个表显示第二个参数是如何工作的: 值 含义 0 一周以星期日开始,返回值范围为 0-53 1 一周以星期一开始,返回值范围为 0-53 2 一周以星期日开始,返回值范围为 1-53 3 一周以星期一开始,...

    Active Desktop Calendar (活动桌面日历)V7.77 绿色汉化版.

    打印日历也是非常容易,不仅可以打印一个月日历,也可以打印一定日期间隔內的约会清单。内建的地址本可令使用者保存所有重要的联络信息,也可以直接从其他程序导入联络信息。支持CSV和iCal格式数据的输入以及输出。...

    java介绍课件

    java基础至此你可以在日期和时间数据中包含时区,还提供对小数秒的支持。本课的重点在于怎样使用包含在 Oracle9i/10g 中新的日期时间数据类型的新日期时间函数。为了理解这些函数的工作方式,必须熟悉时区和格林尼治...

    java入门教程

    你可以在日期和时间数据中包含时区,还提供对小数秒的支持。本课的重点在于怎样使用包含在 Oracle9i/10g 中新的日期时间数据类型的新日期时间函数。为了理解这些函数的工作方式,必须熟悉时区和格林尼治标准时间 ...

    《Excel应用大全》示例文件 光盘文件

    • 利用取舍函数生成重复个数的自然数序列 • 按照特定条件进行取舍计算 • 利用取舍函数解决四舍六入问题 • 产生50~100 的随机整数 • 利用随机函数仅生成数字和字母 • 利用随机函数实现考试座位随机编排 • 日...

Global site tag (gtag.js) - Google Analytics