/*** 请假工时计算* starttime 开始时间 "2019-03-28 16:02", endtime 结束时间 "2019-03-29 16:02"*/
function leaveTime(starttime, endtime) {var start = new Date(starttime); //start = Thu Mar 28 2019 16:02:00 GMT+0800 (中国标准时间)var end = new Date(endtime);var startHour = start.getHours(); //16var endHour = end.getHours();var startDate = start.setHours(0, 0, 0); //startDate = 1553702400000var endDate = end.setHours(0, 0, 0);var dayNum = parseInt(Math.abs(endDate - startDate) / 1000 / 60 / 60 / 24);var hour = 0;if (startHour < 9) {startHour = 9;}//如果开始时间大于18点,if (startHour > 18) {startDate += 60 * 60 * 24 * 1000;starHour = 9;}if (endHour < 9) {endDate -= 60 * 60 * 24 * 1000;endHour = 18;}if (endHour > 18) {endHour = 18;}if (startDate == endDate) {var date = new Date(startDate);var week = date.getDay();if (week != 0 && week != 6) {hour = endHour - startHour;if (hour > 0 && hour < 4)hour = 4;if (hour > 4)hour = 8;}} else {for (var i = 0; i <= dayNum; i++) {var DateTime = startDate + 60 * 60 * 24 * 1000*ivar date = new Date(DateTime);var week = date.getDay();if (week != 0 && week != 6) {if (DateTime == startDate) {var timehour = 18 - startHour;if (timehour > 0 && timehour <= 4)hour =+ 4;if (timehour > 4)hour =+ 8;} else if (DateTime > startDate && DateTime < endDate) {hour += 8;} else if (DateTime == endDate){var timehour = endHour - 9;if (timehour > 0 && timehour <= 4)hour += 4;if (timehour > 4)hour += 8;}}}}return hour / 8.0;
}

转载于:https://www.cnblogs.com/king-sxx/p/10646814.html

自动计算请假工时 排除周六周日相关推荐

  1. java 算出下一个工作日,Java:计算一个日期加下指定工作日数(排除周六周日和一系列节日)...

    Java:计算一个日期加上指定工作日数(排除周六周日和一系列节日) 工作时遇到的,随便写了个,欢迎高手点评: 核心代码: package www.sjjjob.com.date; import jav ...

  2. Java模块 -- 计算工作日 (Excel导入法定假日至数据库 排除周六 周日 法定假日) Calendar

    有一个小功能,要求是按照指定时间,计算出规定的工作日,排除国家法定节假日,周日,周六... 网上找了一些案例,但都算不准,但是它们的思路和方法可以借鉴下...于是一边想,一边改...就出来了.... ...

  3. oracle计算一个日期加上指定工作日(排除周六周日和一系列节假日)时间

    第一步: 创建一个表格holiday用于灵活存放节假日日期(周末除外),如果和周末日期重复,则无需添加到该表格中: create table T_RENT_HOLIDAY ( ID VARCHAR2( ...

  4. 计算请假工时,去除周六周末的时间

    做项目时,写到一个请假的模块,需要计算请假工时,去除周六周末,时间为一天8H,8:00-17:00,中午12:00-13:00 为午休时间 function getLeaveTime(startDat ...

  5. 动态表头_Excel制作动态考勤表及周六周日颜色标注

    今天老板让同事把一年的考勤表制作并打印出来,同事开始一个月一个月的开始制作,半个小时过去了制作了三个月的考勤表,老板很生气说十分钟搞不定扣工资,同事急哭了,我说没事我来帮你,你可以制作动态考勤表啊,只 ...

  6. SQL Server-判断日期是否为周六 周日

    SQL Server判断日期是否为周六 周日 -小龙人 DATEPART 返回代表指定日期的指定日期部分的整数. 语法 DATEPART ( datepart ,date ) 参数 datepart ...

  7. java 获取周六周日_JS实现获取当前所在周的周六、周日示例分析

    本文实例讲述了JS实现获取当前所在周的周六.周日.分享给大家供大家参考,具体如下: 需求:无论当前是哪一天,获取当天所在周的周末 是哪一天 实现步骤: 比如,今天周一,则周日距离今天还有(7-1)=6 ...

  8. Java 工作时长计算(除去午休时长,周六周日)

    public class WorkTimeCalculate {// 上班时间private static final LocalTime WORKING_START_TIME = LocalTime ...

  9. html 自动填充 颜色,周六周日行自动填充颜色

    EXCEL如何设置条件格式使表格中代表周六日的列自动比如 列 A B C D E F G H I J K L M N O P Q R S 日期 1 2 3 4 5 6 7 8 打开一个空白excel表 ...

最新文章

  1. 哪些电脑最适合做机器学习、数据科学和深度学习呢?这里有份调研报告
  2. 分布式存储系统的关键技术
  3. 移动办公市场未现寡头,留给大象盯盯们的机会有多少
  4. HDU 4832 Chess 排列组合 DP
  5. Thinkphp下嵌套UEditor富文本WEB编辑器
  6. php 正则表达式 x,php – 匹配x正则表达式或y正则表达式
  7. linux top 参数详解
  8. visio 生成mysql脚本_Visio2010建立ER图并直接导出为SQL语句
  9. 机器学习实战:支持向量机回归预测财政收入
  10. 动作识别0-02:mmaction2(SlowFast)-官方数据训练测试-ucf101
  11. 卸载Office密钥或删除序列号
  12. java 设置纸张大小设置_java page如何设置纸张
  13. android界面侧滑,Android 开发之Android Material Design NavigationView侧滑界面自定义
  14. 手机怎么把照片转JPG格式?这两种方法可以迅速转换
  15. 怎样才能在网上卖东西,手把手教你闲鱼卖货!
  16. IntelliJ IDEA 中设置左菜单字体, 编辑器字体和控制台的字体
  17. 基于tomcat的javaweb在线教学网站的开发--完成登录、注册以及考试页面
  18. 2020 EC Final 诸事不顺记
  19. kodi与hdplayer_将Kodi中的电影收藏与电影集合并
  20. ADC外接电容:作用

热门文章

  1. C#中的is、as及转换
  2. 交叉验证和超参数调整:如何优化您的机器学习模型
  3. 分类决策树 回归决策树_决策树分类器背后的数学
  4. R语言数据转换(split-apply-combin…
  5. 怎样在sqlite3上执行SQL语句
  6. 一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
  7. python聊天程序程序代码_python聊天程序实例代码分享
  8. mysql 序号_脚本搭建Nginx、Redis、MySql、Maven
  9. 错误:不能继续进行下一步操作 openfire 设置._如何为MacBook或Mac电脑恢复出厂设置...
  10. java listen_Java进阶-IO基础